Windows ограничение tcp подключений

Количество сетевых подключений Windows 7

Количество сетевых подключений. Начиная с Windows XP, в операционной системе корпорации Microsoft имеется ограничение на количество одновременных подключений к компьютеру. Технически данная операционная система может поддерживать почти любое количество одновременных подключений (их число ограничено только аппаратными возможностями). MS установила искусственные ограничения для того, чтобы продвинуть свой другой продукт – Windows Server.

В виду того, что данные ограничения созданы искусственно, от них можно достаточно легко избавиться. Однако для этого придется устанавливать патчи. Которые поменяют некоторые параметры операционной системы, которые нельзя изменить через панель управления или редактор реестра.

Как увеличить количество сетевых подключений

Программ для устранения соответствующих ограничений существует достаточно много. Но когда речь заходит о вмешательстве во внутреннюю структуру ОС лучше пользоваться проверенным софтом. Для Windows 7 (любых версий) таким ПО является «FixLimUserWindows». Программа умеет работать как с 32-ух, так и с 64-ех битными платформами.

Использовать ее рекомендуется в «безопасном режиме». Для того чтобы загрузить операционную в этом режиме нужно еще до появления логотипа «Windows» на загрузочном экране нажать на клавишу «F8». И выбрать в появившемся списке «загрузиться в безопасном режиме». После попадания на рабочий стол понадобится запустить скаченную программу. А затем она сама заменит все нужные файлы.

Если патчить в режиме «обычная загрузка», то после запуска программы на рабочем столе появится новый файл. Который придется скопировать в папку «C:\Windows\System32\». Следует отметить, что последнее опять возможно либо в безопасном режиме, либо меняя права доступа.

Вне зависимости от выбранного способа, после того, как файлы будут пропатчины, ограничение на количество подключений снимется. Но для того чтобы сразу убедиться в этом можно открыть командную строку («Ctrl+R» -> «cmd» -> «Ok») и ввести команду «net config server». После нажатия на клавишу «Enter» должно появиться сообщение: «максимальное число пользователей без ограничений».

Если сообщение появилось, значит теперь можно подключать любое количество устройств. Главное, чтобы мощности компьютера хватило для поддержания нагрузки от них.

Следует отметить, что изменение файлов операционной системы Widnows является нарушением лицензионного соглашения Microsoft.

Соответственно и использование указанного софта и другого программного обеспечения аналогичного функционала может формально привести к разрыву договора между пользователем и корпорацией MS. Однако после патча активация остается работоспособной.

Windows 10 Maximum TCP-IP Connection Limit

Собственно лимит TCP подключений в обычной винде == 20. Есть какие-то грязные хаки, как это отключить, не переходя на Windows Server и всё же, как же тогда работает тот же торрент клиент в обычной винде, ведь там может быть кол-во коннектов намного больше 20-и ?

-=MASTER=-
> лимит TCP подключений в обычной винде == 20
Только в home edition примерно столько, в остальных — порядка 1000, на сервере еще больше.

> как же тогда работает тот же торрент клиент в обычной винде
Эта винда не обычная, очень мало у кого home версия. И торент в ней вот так и работает, хреново. TCP он не использует, кстати, иначе бы не смог перекидывать данные p2p, когда оба клиента за натами.

Хакнуть наверное можно, но не разу не слышал, чтобы так делали. Если уж нарушать лицензию, гораздо проще другую версию винды поставить.

Читайте также:  Mysql data directory windows

0iStalker
> Возьми Linux/Freebsd
Да это я чисто любопытства спрашивал, сервак то всё равно не Linux-е, где этих ограничений нет вообще вроде как. Странная политика винды.

Zab
> TCP он не использует, кстати, иначе бы не смог перекидывать данные p2p, когда
> оба клиента за натами.
Так а как он работает, через UDP что ли?

-=MASTER=-
Zab
Вы там бухаете что ли?
В винде лимит на 10 или 20 полуоткрытых tcp соединений. Иными словами 10 или 20 попыток одновременных соединений.
Есть еще какой-то мелкий лимит на количество smb и ms-rdp сессий.
К количеству одновременных установленных tcp соединений это не имеет никакого отношения.
Какой-то лимит есть конечно, но чтобы его достигнуть, надо очень постараться.

youtube
Вы не видели home-версии, видимо.
На самом деле, я не знаю какой лимит у домашней десятки, но у всех остальных количество доступных сокетов в системе было очень маленьким, а соответственно и число соединений. Могу предположить, что в десятке принципиально ничего не изменилось. 20 сокетов вместо 10, которые были в XP home. Должны же они в винде что-то урезать, если эту версию распространяют едва ли не бесплатно. иначе нормальную покупать не будут.

-=MASTER=-
> Так а как он работает, через UDP что ли?
Да, собственно данные передаются по udp.
По tcp (вернее, по http) ты получаешь торент-файл с сервера обычно. Но данные то качаются минуя все сервера, их может быть ни одного не доступно, а торент-клиент будет благополучно качать.

Zab
> XP home
Это был вообще огрызок, каких еще поискать нужно благо, после SP2 он перестал существовать вообще. Нет смысла сравнивать его с любой другой версией винды.

Zab
> Вы не видели home-версии, видимо.
Видел. Там как раз ограничение на smb и ms-rdp. На количество tcp сессий вообще такого ограничения нет.

youtube, Zab, не, конечно же речь о нормальной винде, а не какой-то home или хз какой, я их никогда и не ставил, да и смысл ставить не топовую, если всё равно всё с торрентов заливаешь 🙂
Так что, если сервер TCP коннекты по возможности не рвёт, то проблемы могут быть только в случае одновременных попыток подключиться толпы пользователей? Хмм. вообще это хорошо, хотя и это странно, это ж надо так загадить ОС. А вообще конечно, если сервер — то линукс однозначно, т.к. к винде доверия ноль, особенно к последним версиям, которые напрямую в соглашениях пишут, что они твои данные стягивают ) Даже если все эти шпионские штуки патчем поотрубать, не факт, что отключишь их все.

youtube
> Какой-то лимит есть конечно
65535

MrShoor
> 65535
это кол-во портов, а на один порты ты можешь приконнектить много TCP соединений

-=MASTER=-
> это кол-во портов, а на один порты ты можешь приконнектить много TCP соединений
Помимо тех портов, которые ты задаешь явно есть еще и внутренние порты, которые определяют в какое приложение на какое соединение направить данный пакет. Ты эти порты нигде не задаешь и в принципе их не видишь, но они есть.

MrShoor
> Ты эти порты нигде не задаешь и в принципе их не видишь, но они есть.
хмм, не слышал, думал, что при коннекте к серверу на определённый порт, просто инициализируется сокет и передаётся серверу его дескриптор, который типа int, то есть сокетов в теории может быть очень много. А что, реально на один порт может только 65535 TCP приконнектится? Что-то на гон похоже )

Читайте также:  Запуск windows 10 минут

-=MASTER=-
Представь, что ты, разработчик ОС. Вот пользователь открывает 10 соединений на один и тот же порт на один и тот же сервер. Как ты определишь какие пакеты в какое соединение рассылать? Для этого и существует локальный порт. Открываешь Resource Monitor в винде, и на вкладке Network смотришь раздел TCP Connections. Там есть колонка с локальными портами, которые назначаются случайным образом на каждое открытое соединение.
Можно получить самому список этих локальных портов через GetTcpTable. А если сходишь и посмотришь параметры, которые возвращает тебе эта функция, то увидишь там в MIB_TCPROW параметр dwLocalPort для которого черным по белому написано:

Системные ограничения TCP/IP, влияющие на работу программы

Ограничение на количество одновременных попыток сетевых подключений
В ОС Windows XP SP2(x86,x64)/SP3, 2003 Server SP1(x86)/SP2(x86,x64), Vista без SP(x86,x64) и с SP1(x86,x64) существует ограничение на количество одновременных попыток сетевых подключений. Это может негативно повлиять на скорость сканирования сети и на работу большого числа проверок типа «TCP-порт», вызывая ошибку «Connect timed out» и ложное срабатывание сигнализации (если она настроена).

Попытка подключения
Для установления TCP соединения локальный компьютер сперва посылает удалённому компьютеру приглашение к соединению (так называемый SYN пакет). Состояние, в котором при этом находится локальный компьютер, называют полуоткрытым соединением (англ. half-open connection) или попыткой подключения (англ. connection attempt). Далее, в зависимости от ответа удалённого компьютера, полуоткрытое соединение либо закрывается, либо переходит в нормальное установленное TCP соединение.

Сущность ограничения
Ограничение заключается в том, что компьютеру не разрешается иметь более 10 одновременных полуоткрытых исходящих соединений. При достижении предела новые попытки подключений ставятся в очередь. Таким образом, фактически ограничена скорость подключения к другим компьютерам. На количество установленных соединений жесткого предела в системе нет. Кроме того, ограничение никак не затрагивает входящие соединения. Ограничение введено компанией Microsoft в попытке замедлить распространение вирусов с зараженного компьютера, а также ограничить возможности участия компьютера в DoS-атаках.

Проверка срабатывания
Чтобы проверить, срабатывает ли на вашем компьютере это ограничение, загляните в Просмотр событий (например, через Панель управления — Администрирование или Пуск — Выполнить — EventVwr.msc). Каждое сообщение

«EventID 4226: Достигнут предел безопасности TCP/IP налагаемых на количество попыток одновременных подключений»

или в английской версии

«EventID 4226: TCP/IP has reached the security limit imposed on the number of concurrent TCP connect attempts»

говорит о том, что ограничение сработало.

Влияние ограничения на работу программы
Операционная система подсчитывает все полуоткрытые соединения, даже если они устанавливаются из разных программ. Если у вас работает какой-либо файлообменный P2P-клиент или подобная программа, часто устанавливающая TCP-соединения, то это может оказать влияние на работу программы во время проверок хостов и сканирования TCP-портов. К возникновению ошибки подключения к TCP-порту «Connect timed out» может привести и большое количество одновременно проверяемых хостов с настроенной проверкой TCP-порт. Следует учитывать эту особенность при срабатывании сигнализации, если она настроена на возникновение ошибки проверки.

По этой же причине сканирование сети (построение карты) с использованием TCP-пинга может занять довольно продолжительное время. Это происходит из-за того, что Windows ставит сверхлимитные подключения в очередь, практически «замораживая» их на длительный период. Программа при сканировании сети использует большое количество потоков, одновременно осуществляющих попытки подключения к заданным портам. Из-за существующего ограничения первые 10 потоков могут отработать штатным образом, а остальные просто «зависнут» в очереди. Следует учесть эту особенность при использовании способа сканирования сети TCP-пинг.

Читайте также:  Windows не обнаруживает сетевой принтер

Снятие ограничения под Windows XP SP2(x86,x64)/SP3, 2003 Server SP1(x86)/SP2(x86,x64), Vista без SP(x86,x64) и с SP1(x86,x64)
Можно убрать ограничение (точнее, увеличить предел полуоткрытых соединений), отредактировав системный файл tcpip.sys.

  1. Скачайте патчер: http://half-open.com/download_ru.htm.
  2. Разархивируйте его в любую папку и запустите Half-open limit fix (для пользователей Vista: правый клик, «Запуск от имени администратора»).
  3. Выберите новый предел количества одновременных полуоткрытых исходящих соединений и нажмите «Внести в tcpip.sys» (советуем установить предел, равный 512).
  4. Перезагрузите компьютер.

Может потребоваться повторный запуск Half-open limit fix после обновлений Windows или установки SP, так как иногда Microsoft заменяет старый файл tcpip.sys на новый. Если программа перестанет работать с обновленным tcpip.sys на сайте half-open.com появится новая версия.

Для пользователей Vista: Возможно когда-нибудь после обновления Windows или установки SP на рабочем столе появятся надписи «Тестовый режим». Они могут появиться, так как в Vista SP1 есть обязательная проверка подписи драйверов, и файл tcpip.sys подписывается тестовой подписью, после того как пропатчен. Скорее всего, чтобы они исчезли, понадобится просто еще раз пропатчить tcpip.sys.

Обновления Windows время от времени заменяют файл tcpip.sys, и процедуру надо повторять.

Программа работает в среде Windows XP/Vista/7/8.1/10; Server 2003/2008/2012/2016/2019/2022. Вы можете скачать и попробовать 30-дневную пробную версию бесплатно.

Одминский блог

Блог о технологиях, технократии и методиках борьбы с граблями

Ограничения стека протокола TCP/IP в Windows

Здесь нет никакого открытия, так что инфа из серии “спасибо кэп”, но до сих пор приходится сталкиваться с вопросами, почему в хрюше ака Windows XP перестает работать интернет или бродилка, при большом числе одновременных закачек ftp, или тем более работе торрент клиента.

Дело в том, что у Windows XP SP2 имеются ограничение на число одновременных сессий tcp (а точнее сессий согласования TCP half-open), установленное в режим 10. Сделано это было мелкомягкими умышленно, для ограничения распространения червяков и дос-атак, которые с выходом Windows XP расцвели буйным цветом, и в первоначальной версии Windows XP этого ограничение отсутствовало, но мелкомягкие посчитали, по своей обычной традиции, что нет смысла бороться за живучесть системы, и проще зарезать число конкурирующих сессий. Причем в XP это реализовано на уровне системного файла TCPIP.SYS, который необходимо патчить с помощью программы: EventID 4226 Patcher Version 2.23d которая увеличит это число до 50.

Для того чтобы увеличить до максимума число возможных сессий в виндовой сетке, следует сделать следующее: запустить глобальные политики CTRL+R -> gpedit.msc ->Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Параметры безопасности -> Интерактивный вход в систему -> выставляем его в 0 (отключение ограничения)

или же внести правки в следующий ключ реестра:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\CachedLogonsCount
изменив значение CachedLogonsCount на 50 или 0

В Vista SP2 и Windows 7 это ограничение уже было убрано из драйвера протокола, но в системе имеется ограничение на использование сетки для шаринга и печати, установленное в 20 соединений. Проверить это можно, вбив в dos-promt (CTRL+R -> cmd) команду net config server, которая выведет максимальное число пользователей.

А также максимальное число входящих подключений к IIS, которое можно настроить через ключ реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpNumConnections (тип: DWORD, задав его от 5000 до 65536)

Оцените статью