Оптимизация Интернет соединения/Event 4226
В ОС Windows XP SP2, SP3 и Windows 2003 Server SP1 beta существует ограничение на количество одновременных попыток сетевых подключений.
Весьма распространено заблуждение о том, что ограничено максимальное количество соединений вообще.
Попытка подключения
правитьДля установления TCP соединения локальный компьютер сперва посылает удалённому компьютеру приглашение к соединению (так называемый SYN пакет).
Состояние, в котором при этом находится локальный компьютер, называют полуоткрытым соединением (англ. half-open connection) или попыткой подключения (англ. connection attempt).
Далее в зависимости от ответа удалённого компьютера полуоткрытое соединение либо закрывается, либо переходит в нормальное установленное TCP соединение.
Подробнее про TCP соединения можно прочитать в статье TCP/IP.
Сущность ограничения
правитьОграничение заключается в том, что компьютеру не разрешается иметь более 10 одновременных полуоткрытых исходящих соединений. При достижении предела новые попытки подключений ставятся в очередь.
Таким образом, фактически ограничена скорость подключения к другим компьютерам.
На количество установленных соединений жесткого предела в системе нет. Кроме того, ограничение никак не затрагивает входящие соединения.
Ограничение введено компанией Microsoft в попытке замедлить распространение вирусов с зараженного компьютера, а также ограничить возможности участия компьютера в DoS-атаках.
Проверка срабатывания
правитьЧтобы проверить, срабатывает ли на вашем компьютере это ограничение, загляните в Event Viewer (например через Control Panel — Administrative Tools; или Пуск — Выполнить — EventVwr.msc). Каждое сообщение «EventID 4226: TCP/IP has reached the security limit imposed on the number of concurrent TCP connect attempts» говорит о том, что ограничение сработало.
Обычно это означает, что у вас на компьютере работает либо какая-то P2P программа либо сетевой червь (вирус). Если такие сообщения в Event Viewer появляются очень часто, то скорее всего вы заметите проблему и сами — у вас будут трудности с открыванием вебстраниц в браузере.
Влияние на P2P
правитьЧасто можно встретить утверждение, что это ограничение не дает нормально работать файлообменным P2P клиентам. Суть данного неприятного явления состоит в том, что когда P2P клиенты (например, eMule или BitTorrent) пытаются установить слишком много новых соединений сразу (спонтанно в условиях широкого канала, либо в момент снятия ограничений на ширину канала — например, в ночное время), из-за ограничений на число полуоткрытых соединений может возникнуть существенное падение суммарной скорости download, а также возникновение типичных для данного случая проблем с установкой новых соединений, в том числе при открытии www-страниц.
Можно также сделать так, чтобы клиент сам ограничивал количество полуоткрытых соединений. Во многих клиентах такая возможность есть, более того, они сразу устанавливаются с нужными настройками по умолчанию: см. BitComet FAQ и µTorrent FAQ.
Снятие ограничения
правитьМожно убрать ограничение (точнее, увеличить предел полуоткрытых соединений), отредактировав системный файл tcpip.sys.
Самый популярный метод — это патч от lvllord.
Кроме того, Bittorrent клиенты BitSpirit и последние беты BitComet тоже могут это сделать.
Обновления Windows время от времени заменяют файл tcpip.sys, и процедуру нужно повторять.