Zastanawiająca wydajność TCP w porównaniu z 3G / UMTS

8

Używam 3G jako mojego głównego połączenia internetowego, a TCP przez to staje się coraz bardziej zagadkowy każdego dnia. Na przykład:

  1. Pobieranie z kernel.org jest szalenie szybkie:

    $wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.6.8.tar.bz2
    

    zwiększa się do ~ 500kB / s po kilku sekundach!

  2. Niektóre serwery są niesamowicie wolne, na przykład www.graphic-pc.com: To
    samo, pobieranie dużego pliku za pomocą wget zaczyna się od ~ 30kB / s na ułamek sekundy, a następnie spada do 5-10k lub nawet gorzej.

  3. Przeglądanie stron internetowych jest przyzwoite, ale nieco zawodne. Losowo strona ładuje się naprawdę długo, a nawet nie ładuje się, ale przeładowanie może się powieść niemal natychmiast.

  4. Teraz przez przypadek zacząłem grać w OpenVPN przez UDP na połączeniu 3G, a OMG nagle wszystko jest bardzo szybkie!
    To samo www.graphic-pc.com strzela teraz z prędkością 100-200kB / s!


  • Co tu się dzieje ???
  • Dlaczego jest tak dużo lepiej z VPN niż bez?
  • A dlaczego graphic-pc.com indeksuje się, gdy leci kernel.org?
    Ma to coś wspólnego z moim stosem tcp (lub serwerem), lub jakimś błędnym routerem pomiędzy?

Uwagi:

Instalator to laptop z systemem Ubuntu Lucid i kluczem Huawei 3G (więc bezpośrednie połączenie pppd).

Mogę to odtworzyć w dowolnym momencie w ciągu dnia i nie ruszam się, więc najwyraźniej nie jest to środowisko komórkowe ani przeciążenie Internetu. (chociaż kernel.org bez VPN czasami robi się gorzej wieczorem, około 60kB - ale nadal 500kB z VPN!)

W przypadku 2) wireshark pokazuje retransmitowane pakiety, duplikacje, czasem nawet nieczynne.

Próbowałem grać z różnymi parametrami / proc / sys / net / ipv4 (tcp_rmem, window_scaling, tcp_congestion ...) nie wydaje się mieć znaczenia.


Aktualizacja:
Wypróbowano pod Windows 7 (bez VPN) z kilkoma interesującymi wynikami:

tcp settings  :  default          tcp_optimizer
kernel.org    :  10 kB/s          20 kB/s
graphic-pc.com:   8 kB/s          70 kB/s !

tcp_optimizer włączył między innymi ctcp. Muszę sprawdzić, co działa os graphic-pc.com, mój zakład to tcp_westwood Linuksa i ms ctcp nie mieszają się tutaj dobrze ...

lemonsqueeze
źródło
Charakter 3G będzie się zmieniał.
Ponadto 3G to transport o dużym opóźnieniu, który nie jest podatny na niektóre rodzaje ruchu (np. Gadatliwe protokoły, takie jak SQL Net). Nie chodzi o to, że którykolwiek z twoich przykładów to SQL Net, po prostu zaznaczając, że działa inaczej w przypadku niektórych aplikacji.
„wireshark pokazuje retransmitowane pakiety, duplikaty, czasem nawet nieczynne” - Kiedy, przez VPN czy nie, czy oba? Czy takie zachowanie występuje w przypadku całego ruchu, czy tylko HTTP / S? Tj. Jak wcześniej sugerował siludihaven, twój dostawca usług internetowych nie może już powiedzieć, co zamierzasz. Kiedyś przepustowość mojego połączenia ASDL spadła do <2 Mb / s, ale to wciąż powinno wystarczyć do grania, ale to nie było tak, że miałbym straszne opóźnienia i utratę pakietów. Zacząłem grać na PPTP i moje opóźnienie było lepsze, a gra prawdopodobnie znowu. Czy możesz przenieść plik na przykład na niestandardowy port?
jwbensley,
Być może spróbuj FTP przez losowo wysoki port, z VPN i bez VPN, i ponownie z SSH / SFTP zi bez VPN na losowo wysokim porcie i zgłoś tutaj wyniki.
jwbensley,
@javano: Wireshark dup's itp. jest dla graphic-pc.com bez VPN (nie próbowałem wireshark z VPN, ponieważ jest dość zdrowy). Zrobię testy z innymi portami, ftp jest dobrym kandydatem.

Odpowiedzi:

6

Problem rozwiązany:
Przetestowano z innym typem pliku (.zip) na graphic-pc.com. Zgadnij, co jest jednocześnie szybkie dla tego pliku i wolne dla drugiego (którego btw to .mp3). Więc to wyraźnie, że ISP dokonuje głębokiej inspekcji pakietów i ogranicza przepustowość.

Jeśli chodzi o dziwne wyniki pod oknami, przetestowałem ponownie dzisiaj i teraz jest dokładnie taki sam jak Linux. Ponadto dławienie jest dynamiczne i zmienia się w ciągu dnia. Wydaje mi się, że miałem naprawdę pecha, zrestartowałem i uruchomiłem tcp_optimizer w momencie, gdy dławienie się zmieniło ...

Nadal ciekawi rzeczywistego wpływu na wydajność TCP 3G jak tam jest numer z papierami na ten temat, ale o ile to dotyczy to tylko ruch kształtowaniu bzdura, nic złego z 3G!

lemonsqueeze
źródło
2

Po pierwsze, połączenia 3G / 4G nie są zaprojektowane jako podstawowe połączenia z Internetem i podlegają dławieniu, jeśli ruch przez nie przepływa zgodnie z określonym wzorcem lub przekraczasz niewymieniony limit ruchu. Nie wierz swojemu przewoźnikowi (nawet tym strojom reklamowym z nieograniczoną ilością danych), gdy mówią, że nie masz żadnych ograniczeń.

W końcu jest to czas antenowy, a przepustowość powietrza jest mniejsza niż światłowodu i miedzi. Kiedy będą tłoczne, nie będą mieli innej opcji, jak ograniczyć ruch z węzłów końcowych.

Wspomniana witryna z grafiką komputerową jest bardzo flashową (lub podobną) stroną ciężką i zajmuje około 60 sekund na moim internetowym komputerze z podłączonym OC-3. Zatem niski wskaźnik pomiaru dostępu do tej strony przez standard 3G nie jest dużą niespodzianką. Kernel.org jest szybszy. Biorąc pod uwagę tekstowy charakter tej witryny, jestem pewien, że ruch może być kompresowany i nieskompresowany w locie za pomocą połączenia 3G z bardzo dobrymi wskaźnikami sukcesu, gdzie nie jest to możliwe w przypadku witryn o dużej ilości obrazów / flash / muzyki / itp.

I na koniec, bardziej chcesz wcisnąć się w swoją fajkę, tj. Połączenie 3G, mniej przychylnym klientem, dla ciebie ISP i dławią cię bez względu na wszystko. A jeśli przeczytasz swoje Warunki, zobaczysz, że mają do tego prawo, przy rozsądnym wykorzystaniu (co nie jest połączeniem 24/7 non-stop)

Przechodząc przez połączenie VPN, szyfrujesz cały ruch sieciowy. Twój dostawca usług internetowych nie może już sprawdzać pakietów, dlatego nie może odróżnić żądania strony tekstowej od żądania strony flashowej. Tak więc do pewnego stopnia udało ci się obejść ich głęboką kontrolę pakietów. Ale posiadanie VPN ma swoją własną prędkość, ponieważ będziesz musiał zaszyfrować każdy pakiet wychodzący z twojego połączenia, co kosztuje. Ale w twoim przypadku koszt ten wydaje się minimalny lub znikomy.

Mam nadzieję, że to trochę to wyjaśnia

MelBurslan
źródło
Przepraszamy, ale to nie wyjaśnia, co się tutaj dzieje.
W przypadku dwóch wymienionych stron szukam masowych prędkości pobierania, pobierania jednego dużego pliku za pomocą wget, a nie otwierania strony w przeglądarce. Zrobiłem kilka testów pod Windows i prędkość grafiki-pc.com jest tam inna (opublikowana aktualizacja). Gdyby dławił od strony ISP, pozostałby taki sam.
kto jest twoim dostawcą 3G? Czy używasz jednego z tych dostawców usług internetowych 3G lub po prostu tethering telefonu komórkowego od jednego z głównych dostawców usług telefonii przewodowej?
MelBurslan,
Właściwie miałeś rację, to naprawdę dławi!