Оптимизация Интернет соединения/Оптимизация 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