Każda dyskusja o rozmiarze pakietów VPN na iPhone kończy się propozycją tego samego polecenia Mac wobec interfejsu o nazwie ppp0, zwykle z liczbą obok. Nie przenosi się ono i nie byłoby właściwą kontrolą nawet na Macu, chyba że ten interfejs należał do omawianego połączenia. Na telefonie liczbę posiada ten, kto implementuje tunel: system operacyjny dla profilu natywnego, dostawca tunelu pakietowego dla aplikacji albo brama, gdy negocjowany jest udokumentowany atrybut. Trzy pytania rozstrzygają, z którym z tych przypadków masz do czynienia.

Pytanie pierwsze: który klient działa

Profil natywny IKEv2, wbudowany profil Cisco IPsec i klient Cisco firmy trzeciej to trzy różne implementacje z trzema różnymi zestawami obsługiwanych atrybutów. Typ profilu w Ustawieniach mówi, który z nich telefon faktycznie uruchomił, a lista aplikacji mówi, czy w ogóle jest dostawca na ścieżce. Zacznij od tego, bo reszta decyzji z tego wynika. Jeśli na liście aplikacji nie pojawia się żaden dostawca, tunel należy do systemu operacyjnego.

Nie wnioskuj implementacji z dostawcy bramy. Koncentrator Cisco może zakańczać połączenia klientów, którzy nie mają wspólnego nic poza nazwą dostawcy. Zrzut ekranu starej kompilacji na starej wersji mówi, co obsługiwała ta para, a nie co robi telefon w twojej ręce.

Pytanie drugie: kto posiada wartość

Apple udostępnia właściwość MTU twórcom tuneli pakietowych przez obiekt ustawień rozszerzenia sieciowego. To API dla dostawcy, który konfiguruje własny tunel, a nie przełącznik, który użytkownik lub administrator może włączyć u kogoś innego na zainstalowanym kliencie. Aplikacja firmy trzeciej może zdecydować się ją udostępnić, zignorować albo zahardkodować wartość.

Dla profilu natywnego rozmiar interfejsu wybiera system operacyjny, a telefon nie udostępnia do tego żadnego edytora. Dla bramy Cisco dostępu zdalnego istnieje udokumentowany atrybut profilu połączenia, a to, czy działa, zależy od klienta, wersji i wynegocjowanego transportu. Właśnie w tej luce między udokumentowanym a respektowanym myli się skopiowana liczba.

OwnerWho can change itReachable from the phone
Packet-tunnel providerThe app vendor through its APIOnly if the app exposes a setting
Native IKEv2 or Cisco IPsec profileThe operating systemNo user control
Gateway group policy attributeThe gateway administratorIf the client honours it

Pytanie trzecie: czy objaw w ogóle zależy od rozmiaru

Problemy z rozmiarem mają sygnaturę: małe żądania się udają, duże wysyłki lub duże odpowiedzi zawieszają się, a ta sama usługa działa w innej sieci dostępu. Filtrowanie, limit ładunku aplikacji i zablokowany serwer mogą dać podobną skargę, więc zapisz jedną operację, która zawodzi, obok tej, która działa. Zapisz obie z czasami i rozmiarami, jeśli aplikacja je podaje. Bez tej pary każde późniejsza zmiana to domysł.

Wykonaj ten sam test w Wi-Fi i w sieci komórkowej. Awaria, która podąża za siecią, wskazuje ścieżkę; ta, która podąża za urządzeniem, wskazuje klienta lub profil, a obie potrzebują różnych właścicieli. Użyj tej samej usługi i tego samego konta w obu próbach, inaczej porównanie nic nie mówi.

Dlaczego przepis na Mac wciąż się pojawia

Lata pulpitowych VPN-ów opartych na PPP sprawiły, że zmiana rozmiaru interfejsu stała się legalnym lokalnym obejściem, a te instrukcje skopiowano do wątków mobilnych. Na telefonie nie ma powłoki, nie ma takiej nazwy interfejsu i nie ma trwałości po ponownym połączeniu. Przepis, który rozwiązał problem pulpitu w 2011 roku, podróżował znacznie dalej niż warunki, które czyniły go prawdziwym. Klienci mobilni nie przyjmują do tego żadnego polecenia powłoki, cokolwiek twierdzi wątek.

Traktuj skopiowaną wartość jako hipotezę o ścieżce, a nie jako ustawienie. Jeśli mniejszy rozmiar sprawia, że transfer działa, a większy zawodzi niezawodnie, masz dowody o ścieżce; nadal musisz znaleźć komponent, któremu wolno na nią działać. Te poszukiwania zwykle kończą się na profilu bramy lub u dostawcy aplikacji, a rzadko na telefonie.

Transport zmienia odpowiedź

Jeśli sesja działa po TLS, a nie IPsec, korekta segmentacji TCP na bramie może pomóc, bo przepisuje ogłaszany rozmiar segmentu dla przepływów TCP. Dla ruchu UDP nie robi nic, a obejmuje on więcej współczesnego internetu, niż ludzie się spodziewają. Sprawdź wynegocjowany transport, zanim zaproponujesz zmianę, i wskaż w zgłoszeniu, którego transportu dotknie.

Wykrywanie MTU ścieżki istnieje po to, by końce poznały realny limit zamiast zgadywać. Blokowanie informacji zwrotnej i twarde ustawienie małego rozmiaru zamienia działający duży transfer na stały, ukryty koszt przy każdym połączeniu.

O co zapytać zespół bramy

Poproś o trzy rzeczy: dokładną nazwę atrybutu i jego zakres, czy wdrożone klienty go respektują oraz który transport wynegocjowała sesja. Zmiana zastosowana do jednej zasady grupy jest testowalna; edycja globalna nie, a przenosi ryzyko na użytkowników, którzy nigdy nie zgłosili problemu. Poproś też o odniesienie do dokumentu, bo nazwy atrybutów zmieniają się między wersjami.

Następnie zmień jedną rzecz i ponownie przetestuj pierwotną zawodzącą operację, nie pobieranie testu prędkości. Zachowaj zapis przed i po wraz z wersją klienta i siecią dostępu, aby następny raport można było porównać, a nie roztrząsać od nowa.

Jeśli operacja nadal zawodzi przy pierwotnym rozmiarze, rozmiar nie był przyczyną. Zapisz też ten wniosek, aby następna osoba nie otwierała ponownie tej samej hipotezy.

Powiązane artykuły