Удивительная производительность TCP через 3G / UMTS

8

Я использую 3G в качестве основного интернет-соединения, и TCP из-за этой вещи с каждым днем ​​становится все более загадочным. Например:

  1. Загрузка с сайта kernel.org - это безумно быстро:

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

    увеличивается до ~ 500 кБ / с через несколько секунд!

  2. Некоторые серверы работают невероятно медленно, например, www.graphic-pc.com: то
    же самое: загрузка большого файла с помощью wget начинается с ~ 30 кБ / с в течение доли секунды, а затем падает до 5-10 кб или даже хуже.

  3. Просмотр веб-страниц приличный, но несколько ненадежный. Случайно, страница может загружаться очень долго или даже не загружаться, но перезагрузка может быть выполнена почти сразу.

  4. Теперь, случайно, я начал играть с OpenVPN через UDP поверх 3G-соединения, и OMG вдруг все стало очень быстро!
    Тот же www.graphic-pc.com теперь стреляет со скоростью 100-200кБ / с!


  • Что тут происходит ???
  • Почему так лучше с VPN, чем без ??
  • И почему graphic-pc.com сканирует, когда kernel.org вылетает?
    Что-то делать с моим стеком tcp (или сервером) или каким-то глючным маршрутизатором между ними?

Ноты:

Настройка - ноутбук с Ubuntu Lucid и ключом Huawei 3G (прямое соединение с pppd).

Я могу воспроизвести это практически в любое время в течение дня, и я не двигаюсь, так что это явно не клеточная среда или перегруженность интернета. (хотя kernel.org без VPN иногда работает хуже вечером, 60 КБ или около того - но все же 500 КБ с VPN!)

Для 2) wireshark показывает повторно переданные пакеты, dup ack's, иногда даже не в порядке.

Я пытался играть с другими параметрами / proc / sys / net / ipv4 (tcp_rmem, window_scaling, tcp_congestion ...), похоже, ничего не изменилось.


Обновление:
Пробовал под Windows 7 (без VPN) с некоторыми интересными результатами:

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

tcp_optimizer включил ctcp среди прочего. Нужно проверить, что работает os graphic-pc.com, моя ставка на tcp_westwood в Linux и ms ctcp здесь не очень хорошо сочетаются ...

lemonsqueeze
источник
Характер 3G будет переменным.
Кроме того, 3G - это транспорт с высокой задержкой, который не поддается определенным типам трафика (например: болтливые протоколы, такие как SQL Net). Не то, чтобы любой из ваших примеров был SQL Net, просто подчеркивал, что он работает по-разному с некоторыми приложениями.
«wireshark показывает повторно переданные пакеты, дубликаты, иногда даже не в порядке» - Когда, через VPN или нет, или оба? Вы испытываете такое поведение для всего трафика или только HTTP / S? Т.е., как ранее предполагал silencedhaven, ваш провайдер больше не может сказать, чем вы занимаетесь. Раньше я ограничивал свое ASDL-соединение до скорости <2 Мбит / с, но этого все равно должно хватить для игр, но не было бы ужасных задержек и потери пакетов. Я начал играть через PPTP, и у меня задержка стала лучше, а игры, возможно, снова были. Можете ли вы перенести файл, например, на нестандартный порт?
jwbensley
Возможно, попробуйте FTP через случайный высокий порт, с VPN и без нее, и снова с SSH / SFTP с и без VPN на случайном высоком порту, и сообщите результаты здесь.
jwbensley
@javano: wireshark dup's и т. д. предназначены для graphic-pc.com без VPN (еще не пробовали wireshark с VPN, так как он довольно полезен). Я проведу тестирование с другими портами, ftp - хороший кандидат.

Ответы:

6

Проблема решена:
протестировано с другим типом файла (.zip) на сайте graphic-pc.com. Угадайте, что, в то же время, это быстро для этого файла и медленно для другого (кстати, .mp3). Так что это, несомненно, провайдер проверил и проверил пакет.

Что касается странных результатов под Windows, сегодня я снова протестировал, и теперь он точно такой же, как и в Linux. Кроме того, регулирование является динамическим и изменяется в течение дня. Я думаю, мне действительно не повезло, и я перезагрузился и запустил tcp_optimizer, когда изменилось регулирование ...

Тем не менее интересно , о реальном влиянии 3G на производительность TCP , как есть ряд из статей на эту тему, но, насколько это касается это только трафик шейпинг дерьмо, ничего плохого с 3G!

lemonsqueeze
источник
2

Во-первых, соединения 3G / 4G не предназначены для того, чтобы быть вашими основными подключениями к Интернету, и они подвержены троттлингу, если трафик, проходящий через них, соответствует определенному шаблону, или вы превышаете негласный лимит трафика. Не верьте своему оператору (даже этим безлимитным рекламным нарядам только для данных), когда говорят, что у вас нет ограничений.

В конце концов, это эфирное время, а полоса пропускания воздуха ниже, чем у волокна и меди. Когда они перегружены, у них не будет другого выбора, кроме как ограничить трафик от конечных узлов.

Упомянутый вами графический сайт является очень флеш-сайтом (или похожим) и занимает около 60 секунд в моем подключенном рабочем Интернете OC-3. Таким образом, наличие низких показателей скорости доступа к этому сайту по стандартному 3G не является большой неожиданностью. Kernel.org быстрее, вы говорите. Учитывая текстовую природу этого сайта, я уверен, что трафик может быть сжат и разархивирован на лету с вашим 3G-соединением с очень хорошими показателями успеха, где, как это невозможно с тяжелыми веб-сайтами image / flash / music / и т.д.

И последнее, но не менее важное: чем больше вы хотите вложить в свою трубу, т. Е. Своим 3G-соединением, тем менее выгодным клиентом вы будете для своего интернет-провайдера, и они будут душить вас, несмотря ни на что. И если вы прочитаете свое TOS, вы увидите, что они имеют законное право сделать это при разумном использовании (которое не является круглосуточным круглосуточным соединением).

Когда вы проходите через VPN-соединение, вы шифруете весь сетевой трафик. Таким образом, ваш Интернет-провайдер больше не может проверять ваши пакеты, следовательно, не может отличить запрос текстовой страницы от запроса флэш-страницы. Итак, вы в некоторой степени обошли их глубокую проверку пакетов. Но наличие VPN имеет свои собственные ограничения скорости, так как вам придется шифровать каждый пакет, выходящий из вашего соединения, что обходится дорого. Но в вашем случае эта стоимость звучит как минимальная или незначительная.

Надеюсь, это немного объясняет

MelBurslan
источник
Извините, но это не объясняет, что здесь происходит.
Для 2 упомянутых сайтов я смотрю на массовую загрузку, загружая один большой файл с помощью wget, а не открывая сайт в браузере. Я сделал несколько тестов под Windows, и скорость graphic-pc.com там отличается (опубликовано обновление). Если бы это дросселировало со стороны интернет-провайдера, оно бы не изменилось.
кто ваш провайдер 3G? Используете ли вы одного из этих интернет-провайдеров только 3G или просто подключаете свой мобильный телефон от одного из крупнейших провайдеров телефонных услуг Wireles?
MelBurslan
На самом деле вы были правы, это действительно душит!