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 здесь не очень хорошо сочетаются ...

2 ответа2

6

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

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

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

2

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

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .