Я использую 3G в качестве основного интернет-соединения, и TCP из-за этой вещи с каждым днем становится все более загадочным. Например:
Загрузка с сайта kernel.org - это безумно быстро:
$wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.6.8.tar.bz2
увеличивается до ~ 500 кБ / с через несколько секунд!
Некоторые серверы работают невероятно медленно, например, www.graphic-pc.com: то
же самое: загрузка большого файла с помощью wget начинается с ~ 30 кБ / с в течение доли секунды, а затем падает до 5-10 кб или даже хуже.Просмотр веб-страниц приличный, но несколько ненадежный. Случайно, страница может загружаться очень долго или даже не загружаться, но перезагрузка может быть выполнена почти сразу.
Теперь, случайно, я начал играть с 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 здесь не очень хорошо сочетаются ...
Ответы:
Проблема решена:
протестировано с другим типом файла (.zip) на сайте graphic-pc.com. Угадайте, что, в то же время, это быстро для этого файла и медленно для другого (кстати, .mp3). Так что это, несомненно, провайдер проверил и проверил пакет.
Что касается странных результатов под Windows, сегодня я снова протестировал, и теперь он точно такой же, как и в Linux. Кроме того, регулирование является динамическим и изменяется в течение дня. Я думаю, мне действительно не повезло, и я перезагрузился и запустил tcp_optimizer, когда изменилось регулирование ...
Тем не менее интересно , о реальном влиянии 3G на производительность TCP , как есть ряд из статей на эту тему, но, насколько это касается это только трафик шейпинг дерьмо, ничего плохого с 3G!
источник
Во-первых, соединения 3G / 4G не предназначены для того, чтобы быть вашими основными подключениями к Интернету, и они подвержены троттлингу, если трафик, проходящий через них, соответствует определенному шаблону, или вы превышаете негласный лимит трафика. Не верьте своему оператору (даже этим безлимитным рекламным нарядам только для данных), когда говорят, что у вас нет ограничений.
В конце концов, это эфирное время, а полоса пропускания воздуха ниже, чем у волокна и меди. Когда они перегружены, у них не будет другого выбора, кроме как ограничить трафик от конечных узлов.
Упомянутый вами графический сайт является очень флеш-сайтом (или похожим) и занимает около 60 секунд в моем подключенном рабочем Интернете OC-3. Таким образом, наличие низких показателей скорости доступа к этому сайту по стандартному 3G не является большой неожиданностью. Kernel.org быстрее, вы говорите. Учитывая текстовую природу этого сайта, я уверен, что трафик может быть сжат и разархивирован на лету с вашим 3G-соединением с очень хорошими показателями успеха, где, как это невозможно с тяжелыми веб-сайтами image / flash / music / и т.д.
И последнее, но не менее важное: чем больше вы хотите вложить в свою трубу, т. Е. Своим 3G-соединением, тем менее выгодным клиентом вы будете для своего интернет-провайдера, и они будут душить вас, несмотря ни на что. И если вы прочитаете свое TOS, вы увидите, что они имеют законное право сделать это при разумном использовании (которое не является круглосуточным круглосуточным соединением).
Когда вы проходите через VPN-соединение, вы шифруете весь сетевой трафик. Таким образом, ваш Интернет-провайдер больше не может проверять ваши пакеты, следовательно, не может отличить запрос текстовой страницы от запроса флэш-страницы. Итак, вы в некоторой степени обошли их глубокую проверку пакетов. Но наличие VPN имеет свои собственные ограничения скорости, так как вам придется шифровать каждый пакет, выходящий из вашего соединения, что обходится дорого. Но в вашем случае эта стоимость звучит как минимальная или незначительная.
Надеюсь, это немного объясняет
источник