Я використовую 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, ніж без ??
- І чому графічний графік повзає, коли kernel.org летить?
Щось робити з моїм стеком tcp (або сервером), або якимось баггі-роутером між ??
Примітки:
Налаштування - це ноутбук під керуванням Ubuntu Lucid і Huawei 3G ключ (Так пряме з'єднання pppd).
Я можу відтворити це в будь-який час протягом дня, і я не рухаюсь, тому явно це не середовище стільникового зв'язку або перевантаженість Інтернетом. .
Для 2) wireshark показує повторно передані пакети, дублірувати, навіть іноді не в порядку.
Я намагався грати з різними параметрами / 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 graphics-pc.com, моя обставина - tcp_westwood Linux і ms ctcp тут не добре змішуються ...