Оптимизация Интернет соединения/Оптимизация TCPv4

В OS Windows, Linux (до 2.6.17), Mac OS X и, возможно, других, по умолчанию отключено масштабирование окна TCPv4.

Системные ограничения пропускной способности TCPv4 править

Максимальная скорость скачивания с ресурса может быть вычислена по формуле: (размер TCP окна)/ping. Размер TCP окна по умолчанию может быть равен 65535 или 32768. Предположим, размер окна в настройках OS 60000 байт, а ping до ресурса 150мс, что вполне типично между Россией и Европой. 60Кбайт/0.15сек = 400Кбайт/сек, что вполне сопоставимо с предлагаемыми некоторыми провайдерами тарифами. Таким образом, провайдер может честно выставить ограничение 8Мбит на оборудовании, а скорость скачивания с европейских серверов всё равно будет не выше 4Мбит, потому что европейский сервер половину времени проводит, ожидая подтверждение приёма информации.

Влияние на P2P править

Если устанавливать несколько TCP соединений, то в сумме можно достигать предельной пропускной способности, определяемой тарифом, а именно так обычно P2P программы и ведут себя. Тем не менее, при тарифах выше 4Мбит имеет смысл увеличить размер окна TCPv4.

При использовании UDP для передачи данных системное ограничение не влияет на скорость передачи.

Снятие ограничения править

Можно убрать ограничение (точнее, увеличить размер окна TCPv4), редактируя реестр или системные файлы.

Слишком большой размер окна может увеличить потребление оперативной памяти.

Windows править

Для Windows существует утилита SpeedGuide.net TCP Optimizer: http://www.speedguide.net/downloads.php

Другие OS править

Инструкции для других OS можно найти по адресу: http://www.psc.edu/networking/projects/tcptune/

Online TCP анализатор править

Узнать текущие настройки TCPv4 можно онлайн, используя сервис http://www.speedguide.net/analyzer.php