Duże pakiety znikają przez IPsec, a małe pingi nadal działają
Małe sondy odpowiadają, a kopiowanie plików się zatrzymuje — to sygnatura decyzji o rozmiarze podjętej przed szyfrowaniem. Ustal, która strona dzieli pakiet i dlaczego.
Zdalne powłoki pozostają responsywne, małe sondy odpowiadają, a potem kopiowanie pliku wlecze się i zatrzymuje bez żadnego błędu, na który ktoś mógłby wskazać. Ping z większym ładunkiem odtwarza to natychmiast, a ten sam transfer działa z sieci lokalnej. Nic w szyfrowaniu nie jest wolne; pewne pakiety nigdy nie docierają. Dwa różne podziały mogą dać tę sygnaturę i pozostawiają różne dowody.
Dwa miejsca, w których pakiet można podzielić
Przed szyfrowaniem router może podzielić zbyt duży pakiet wewnętrzny i chronić każdy fragment osobno. Po szyfrowaniu dzielony jest gotowy pakiet zewnętrzny, a strona odległa musi go złożyć ponownie, zanim cokolwiek odszyfruje. Ten sam objaw, inna praca dla odbiorcy i inne pokrętła dla ciebie.
Rozróżnienie ma znaczenie, bo poprawka wymierzona w złą stronę zmienia liczbę, nie ruszając usterki. Pakiet odrzucony na interfejsie nigdy nie staje się pakietem zewnętrznym, więc żadne ustawienie po stronie zewnętrznej go nie uratuje.
Gdzie naprawdę zapada decyzja o rozmiarze
Interfejs tunelu niesie IP MTU, a ta wartość może odrzucić zbyt duży pakiet wewnętrzny długo przed tym, zanim zobaczy go etap IPsec. Ustawienie bitu w nagłówku zewnętrznym nie weryfikuje tamtej wcześniejszej decyzji, bo pakiet już został odrzucony. Dlatego podniesienie wewnętrznego MTU czasem pogarsza sprawę zamiast poprawiać. Przeczytaj wartość interfejsu i zachowanie zewnętrzne, zanim zmienisz którekolwiek z nich, bo tańsza zmiana zwykle jest tą, która wyjaśnia objaw.
Najpierw sprawdź wartość interfejsu, potem zachowanie zewnętrzne. Dwie liczby, dwa etapy, i zwykle tylko jeden z nich jest odpowiedzialny.
Budżet zewnętrzny to nie budżet wewnętrzny
Każda enkapsulacja zużywa bajty na nagłówki, a ilość zależy od transportu, rodziny adresów i tego, czy w grze jest NAT traversal. Pakiet wewnętrzny mieszczący się w łączu lokalnym nadal może dać pakiet zewnętrzny, który nie mieści się w ścieżce za nim. Zmierz narzut, zamiast go zakładać, bo każdy opcjonalny nagłówek dopisuje się do rachunku. Tunel z NAT traversal płaci więcej niż goły, a różnica wystarcza, by zepsuć transfer, który działał wczoraj.
Gdy pakiet zewnętrzny niesie bit zakazu fragmentacji, skok, który nie może go przekazać, odrzuca go i powinien zwrócić komunikat ICMP. Jeśli ten komunikat jest gdzieś filtrowany, nadawca próbuje dalej, a użytkownik widzi zatrzymanie bez wyjaśnienia. To ciche odrzucenie jest zwykłą przyczyną zgłaszania problemu z rozmiarem jako problemu z szybkością.
IPv6 usuwa jedną z opcji
Routery IPv6 nie fragmentują w tranzycie, więc pakiet zewnętrzny albo się mieści, albo znika z komunikatem Packet Too Big. Ten komunikat staje się jedynym kanałem informacji zwrotnej, a jego blokowanie psuje odkrywanie ścieżki dla każdego kolejnego dużego transferu. Routery IPv4 mogą fragmentować duży pakiet, gdy bit jest czysty, co ukrywa usterkę, dopóki coś innego nie ustawi tego bitu.
Na mieszanym stosie ten sam tunel może zachowywać się różnie dla obu rodzin, dlatego jeden test przez IPv4 nie rozstrzyga skargi na IPv6. Kontrola, która ćwiczy jedną rodzinę, zostawia połowę odpowiedzi niezmierzoną.
Polityka segmentów TCP nie jest ogólną odpowiedzią
Ograniczenie maksymalnego rozmiaru segmentu pomaga strumieniom TCP i jest uzasadnioną kontrolą, gdy problem ogranicza się do nich. Nie ma żadnego wpływu na UDP, który przenosi DNS, niektóre protokoły głosowe i rosnącą część ruchu webowego.
Zastosuj ją, a potem przetestuj obciążenie, które zawiodło. Jeśli przypadek UDP nadal zawodzi, polityka segmentów nigdy nie była odpowiedzią, a budżet interfejsu nadal wymaga uwagi. Najpierw ustal protokół zawodzącego obciążenia, potem wybierz kontrolę, która do niego należy.
Kolejność pracy
Zapisz największy ładunek, który przeżywa, potem MTU interfejsu, potem to, czy pakiet zewnętrzny niesie bit zakazu fragmentacji, a na końcu to, czy informacja zwrotna ICMP dociera do nadawcy. Ta sekwencja zawęża usterkę bez zgadywania. Zachowaj każde spostrzeżenie ze znacznikiem czasu i punktem końcowym, bo wszystkie cztery liczby przesuwają się, gdy zmienia się ścieżka.
Zmień jedną wartość, przetestuj ponownie pierwotny transfer i zachowaj wynik. Tunel, który przechodzi dużą sondę, ale nadal zatrzymuje się w aplikacji, przeszedł do innego problemu, a to postęp wart zapisania. Następna osoba woli liczby od wniosku.