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