Ecn capability что это как исправить

Содержание

  1. Windows 10. Отключение интернета каждые
  2. Ecn capability как отключить в windows 10
  3. Что сделать в первую очередь
  4. Нужно ли отключить защитник Windows 10
  5. Какие службы нужно отключить в windows 10
  6. Нужно ли отключать обновления Windows 10
  7. Нужно ли отключать брандмауэр Windows 10

Windows 10. Отключение интернета каждые

foto 177973

vladi105/09.01.2016, 17:46 писал: Может сбросить настройки сети к дефолтным?!

Выполните сброс параметров сетевого адаптера, маршрутов, очистке DNS и Winsock.
Отключите сетевой кабель.
Нажмите Win+X, выберите Командная строка администратор, в командной строке выполните последовательно команды:
route f
ipconfig /flushdns
netsh int ip reset
netsh int ipv4 reset
netsh int tcp reset
netsh winsock reset
Перезагрузите компьютер и настройте параметры сетевой карты.
Подключите сетевой кабель.

foto 170937

В общем моя ОС Win 10 в очередной раз обновилась, ну как сказать, прилетело обновление обновление и я обновил 🙂 И опять начались танцы с Ethernet адаптером. Он просто выключается спустя некоторое время, как только я запускаю торрент и начинаю скачивать большие файлы и при этом одновременно ползать в инете. Пробовал откатить драйвер, не помогло, переустановка тоже не помогла (хотя в прошлый раз этот вариант спас).

ax SCvIl Go

foto 32865

no avatar

foto 62819

foto 330553

Проверим глобальные настройки TCP/IP
netsh int tcp show global

Состояние разгрузки TCP Chimney : enabled
(Chimney offload State)
Все сетевые соединения обрабатываются в сетевой карте.
netsh int tcp set global chimney=enabled (disable)

Поставщик надстройки контроля перегрузки : ctcp
(Add-On Congestion Control Provider)
CTCP увеличивает темп передачи с одновременным контролем размера окна и пропускной способности.
netsh int tcp set global congestionprovider=ctcp (none, ctcp, default)

Мощность ECN : enabled
(ECN Capability)
Просто говоря заминка на маршрутизаторе, снижаем передачу (пробки на дорогах).
netsh int tcp set global ecncapability=enabled (enabled, disabled, default)

Штампы времени RFC 1323 : enabled
(RFC 1323 Timestamps)
В паре с Auto-Tuning Level, включает Window Scale (динамическое изменение размера окна приема). Windows пытается сделать размер окна наиболее разумным, учитывая задержки, помехи.

Источник

Ecn capability как отключить в windows 10

CHto nuzhno otklyuchit v Windows 10

Все пользователи должны знать, что нужно отключить в windows 10, дабы работа стала еще проще и безопаснее. На самом деле человек, работающий с Виндовс, обязательно должен настроить ОС под себя. Давайте поподробнее разберемся с теми службами, которые нужно отключить для более комфортного использования компьютера.

На данный момент операционная система Windows считается наиболее популярной среди пользователей компьютеров. Последней версий ОС является Windows 10, она более практичная и адаптивная, нежели прошлая версия.

Что сделать в первую очередь

Попробуйте более эффективные средства, перед тем как начнете отключать службы, которые практически не влияют на производительность.

Обе программы разработаны официальными партнерами Microsoft!

Нужно ли отключить защитник Windows 10

В современном компьютерном мире существует множество разных вирусов. Они могут встречаться и в скачанных файлах и на потенциально опасных сайтах. На данный момент существуют программы «Антивирусы», которые способны предупреждать об опасных файлах и сайтах, а так же находить и удалять вирусы на компьютере.

zashhitnik Windows 10

Поэтому хорошенько подумайте, нужно ли отключить защитник windows 10? Ведь без участия антивируса, устройство быстро наполнится различными вирусными файлами, которые смогут вызвать сбой системы. Если все-таки решите отключить, то рекомендуем купить лицензионный антивирус стороннего производителя. Поэтому не рекомендуется отключать защищающие программы, а наоборот установить одну, и постоянно сканировать ПК на наличие вредоносных файлов.

Какие службы нужно отключить в windows 10

Для того чтоб выявить все действующие программы, нужно одновременно нажать кнопки «Win» и «R». Данная комбинация вызывает командную строку, в которую нужно будет вписать «services.msc».

sluzhby windows 10 1

Далее на экране должен появиться список всех служб, которые есть на устройстве. Остановка или отключение службы происходит двойным кликом мыши. После отключения служб, обязательно нажимаем «Применить», иначе изменения не сохранятся.

Давайте посмотрим, какие службы нужно отключить в windows 10:

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

Нужно ли отключать обновления Windows 10

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

obnovleniya Windows 10

И тут у многих стает вопрос, нужно ли отключать обновления windows 10? Конечно же, этого не рекомендуется делать, ведь без обновлений компьютер быстро устареет и не сможет выполнять некоторые функции. Но для тех пользователей, которые сильно ограничены в трафике, могут отключить обновления.

Нужно ли отключать брандмауэр Windows 10

Брандмауэр – это современный метод защиты информационных данных на компьютере. Но если вы задаетесь вопросом, нужно ли отключать брандмауэр на windows 10? То этого категорически не рекомендуется делать во всех случаях.

brandmauer Windows 10

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

Для отключения достаточно зайти в «Панель Управления» на своем компьютере и выбрать соответствующий пункт. После отключения не забываем нажать кнопку «Применить», дабы сохранить все изменения.

Источник


Экспериментальные твики

Данные настройки не обязательны, но в них есть немного для каждого.

  • Отключение патчей Meltdown, Spectre, Zombieload v2
  • Настройка сети

Отключение патчей Meltdown, Spectre, Zombieload v2

💡 Для дальнейшей настройки необходимо ознакомиться c
Работа с реестром.

Windows Registry Editor Version 5.00

; отключение патчей Meltdown и Spectre
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management]
"FeatureSettings"=dword:00000001
"FeatureSettingsOverride"=dword:00000003
"FeatureSettingsOverrideMask"=dword:00000003

; отключение патча Zombieload v2
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerKernel]
"DisableTsx"=dword:00000001

Значения по-умолчанию:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management]
"FeatureSettings"=dword:00000000
"FeatureSettingsOverride"=-
"FeatureSettingsOverrideMask"=-

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerKernel]
"DisableTsx"=-

В своё время обнаружение Meltdown [?] и Spectre [?] наделало не мало шума, и зачастую противники этих патчей выдвигают основной аргумент в пользу его отключения – уменьшение производительности CPU. С одной стороны некоторое падение производительности действительно есть [?], тоже самое касается и Zombieload [?] – что-то в районе пары процентов, что не критично и в пределах погрешности, с другой стороны это всё же потенциальная дыра и в приличном обществе такое выставлять на показ не принято.

✨ На слабых CPU есть смысл поэкспериментировать с данной настройкой.

Настройка сети

💡 Для дальнейшей настройки необходимо ознакомиться c
Работа с реестром,
Определение Class GUID.

⚠️ Все настройки сети необходимо тестировать, чтобы определить оптимальные для вашего качества соединения.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile]
"NetworkThrottlingIndex"=dword:ffffffff

Значения по-умолчанию:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile]
"NetworkThrottlingIndex"=dword:0000000a

По-умолчанию в Windows используется механизм регулирования сети, где ограничивается обработка не мультимедийного сетевого трафика до 10 пакетов в миллисекунду (чуть больше 100 Mb/s). Смысл такого регулирования заключается в том, что обработка сетевых пакетов может быть ресурсоёмкой задачей, и может потребоваться регулирование, чтобы обеспечить приоритетный доступ CPU к мультимедийным программам. Но т.к. мы хотим избавиться от дополнительных вмешательств, то данную настройку так же рекомендуется отключить, особенно при наличии гигабитной сети.


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces***]
"TCPNoDelay"=dword:00000001
"TcpAckFrequency"=dword:00000001
"TcpDelAckTicks"=dword:00000000
"MTU"=dword:000005dc

Значения по-умолчанию:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces***]
"TCPNoDelay"=-
"TcpAckFrequency"=-
"TcpDelAckTicks"=-
"MTU"=-

В качестве части имени ветки мы используем ***, где *** надо заменить на Class GUID нашего сетевого адаптера.

Параметр TCPNoDelay отвечает за включение Алгоритма Нейгла [?], который предназначен для повышения эффективности протокола TCP [?] за счёт уменьшения количества сетевых пакетов, путём объединения несколько небольших пакетов в один крупный пакет для более эффективной передачи (nagling). Однако было доказано [?], что в некоторых играх он увеличивает сетевую задержку, поэтому рекомендуется отключить его.

⚠️ Имейте в виду, что отключение данной функции уменьшит скорость загрузки/отдачи из-за меньшего количества данных, передаваемых за пакет.

Параметр TcpAckFrequency определяет количество подтверждений TCP (ACK), чтобы уменьшить количество пакетов [?]. Для увеличения пропускной способности можете поэкспериментировать с небольшими значениями, превышающими 2. Производительность Wi-Fi также может немного улучшиться, если с отключить данную функцию установив 1.

Параметр TcpDelAckTicks служит для настройки тайм-аута TCP (ACK) [?]. Если вы отключили nagling, то данный параметр так же стоит отключить установив параметр в 0.

⚠️ Вы также можете установить значение параметра 1, чтобы уменьшить nagling с 200ms по умолчанию, не отключая его.

Параметр MTU, как ясно из названия, явно задаёт использовать MTU [?] равный 1500 байт [?] для избежания авто-установки в не правильное значение, т.к. по-умолчанию все сетевые устройства используют это значение равное 1500, а разные значения на устройствах могут привести с потери пакетов.


Congestion Control Provider [?] – специальные алгоритмы используемые чтобы улучшить пропускную способность. Доступны несколько вариантов:

  • CTCP [?] – может улучшить пропускную способность при более высоких задержках или широкополосном соединении.
  • DCTCP – используется для повышения пропускной способности на локальных каналах с низкой задержкой, если у вас есть LAN-сеть или гигабитное соединение. Используется на серверах.
  • NewReno – аналогичен CTCP, но так же использует дополнительные алгоритмы Fast Retransmit & Fast Recovery.

Включение CTCP:

netsh int tcp set supplemental Internet congestionprovider=ctcp > nul
netsh int tcp set heuristics disabled > nul

Включение DCTCP:

netsh int tcp set supplemental Internet congestionprovider=dctcp > nul
netsh int tcp set heuristics disabled > nul

Включение NewReno (по-умолчанию):

netsh int tcp set supplemental Internet congestionprovider=NewReno > nul
netsh int tcp set heuristics disabled > nul

Автоматическая настройка TCP [?] – поможет улучшить пропускную способность в сетях с высокой пропускной способностью и большими задержками. Отключение фиксирует значение для TCP Window ограничивая его до 64Kb. Normal обычно является лучшим выбором, но, возможно, стоит попробовать отключить эту настройку.

Отключение:

netsh int tcp set global autotuninglevel=disabled > nul
netsh int tcp set global chimney=disabled > nul
netsh int tcp set global rss=enabled > nul
netsh int tcp set global rsc=disabled > nul

Режим Normal (по-умолчанию):

netsh int tcp set global autotuninglevel=normal > nul
netsh int tcp set global chimney=disabled > nul
netsh int tcp set global rss=enabled > nul
netsh int tcp set global rsc=disabled > nul

ECN Capability [?] – это механизм, который предоставляет маршрутизаторам альтернативный метод сообщения о перегрузке сети. Используется для уменьшения повторных передач пакетов. ECN предполагает, что причиной потери пакетов является перегрузка маршрутизатора, что позволяет им, испытывающим перегрузку, маркировать пакеты, из-за чего клиенты автоматически снижают скорость передачи данных, чтобы избежать дальнейшую потерю пакетов.

Включить ECN Capability:

netsh int tcp set global ecncapability=enabled > nul
netsh int tcp set global timestamps=disabled > nul

Отключить ECN Capability (по-умолчанию):

netsh int tcp set global ecncapability=disabled > nul
netsh int tcp set global timestamps=disabled > nul

Рекомендуется включать только при наличии перегрузки, потери пакетов или при нестабильном подключении.

⚠️ Не включайте эту настройку, если вы используете старый маршрутизатор или компьютер.


Retransmit TimeOut (RTO) [?] – сколько времени неподтверждённые пакеты будут бегать по сети, прежде чем соединение будет прервано. В сетях с высокой задержкой это может увеличить количество повторных передач пакетов.

Установить таймаут в 2s:

netsh int tcp set global initialRto=2000 > nul
powershell -Command "Set-NetTCPSetting -SettingName InternetCustom -MinRto 300" > nul

Установить таймаут в 3s (по-умолчанию):

netsh int tcp set global initialRto=3000 > nul
powershell -Command "Set-NetTCPSetting -SettingName InternetCustom -MinRto 300" > nul

⚠️ Рекомендуется уменьшить таймаут для современных широкополосных сетей с малой задержкой.

После установки операционной системы Windows 7 и драйверов для сетевой карты можно попытаться настроить ОС для более продуктивной работы в локальной сети, если по каким соображениям настройки по умолчанию вас не устраивают на что нужно обратить внимание. Прежде чем менять рекомендуется сохранить уже установленные настройки.

1.Драйвера, обратить внимание в разделе свойства драйвера

Сетевые подключения -> пр.кн.мыши выбираем драйвер сетевой который необходимо “подстроить”. Закладка “Дополнительно”, обратить внимание на параметр “Большой кадр” (Jumbo frame) выбрать максимальное кол-во обычно не более 9000байт. Оптимально использование в локальных сетях до маршрутизатора, при условие что кроме вашего ПК есть еще которые могут использовать данную опцию, актуально на каналах от 100Мбит и выше.

2.Для данного пункта интересны параметры – Буферы передачи/приема, Система разгрузки, Модерация прерывания, Управление потоком. Все это относится к самой сетевой карте, а точнее как бы сказать к ее “железу” т.е. наличие цпу, и возможность самой сетевой карты выполнять некоторые функции по обслуживанию данных таких как например подсчет контрольных сумм при приеме пакетов. Отправка и прием пакетов осуществляется через буфера обычно в режиме Polling – например при получении пакета будет вызвано прерывание, драйвер начнет обработку, но при очень загруженной системе где большой трафик, а следствие и очень большое количество прерываний это будет узким местом, в данном режиме сетевая карта не создает прерывание, а ждет, когда ОС опросит карту, и в данный момент происходит накапливание принятой информации в буфере. Буфер должен быть обслужен в противном случае будет переполнение, чтоб этого не происходило за этим следит система но и алгоритм протокола TCP/IP.

3.Настройки самой системы. В новой ОС Windows 7 в связи с переписанным заново сетевым стеком появились ряд новых настроек которых ранее не было.

cmd>netsh int tcp show global

Глобальные параметры TCP

———————————————-

Receive-Side Scaling State : enabled

Chimney Offload State : automatic

NetDMA State : enabled

Direct Cache Acess (DCA) : enabled

Receive Window Auto-Tuning Level : normal

Add-On Congestion Control Provider : ctcp

ECN Capability : disabled

RFC 1323 Timestamps : enabled

Просмотр команд

cmd>netsh int tcp set global

Receive-Side Scaling State : enabled

Состояние масштабирования на принимающей стороне – разрешено (параметры enabled/disable)

netsh int tcp set global rss=enabled (disable)

использование нескольких процессов для обработки входящего потока, без RSS TCP/IP работает всегда только на одном процессоре даже если ПК многопроцессорный.

Chimney offload State : automatic

Состояние разгрузки TCP Chimney – автомат (параметры). Как ясно из самого названия TCP Chimney Offload или TCP Offload Engine эта технология, встраиваемая в сетевой адаптер, которая позволяет разгрузить CPU от задачи по обработке сетевых пакетов, т.е. все соединения будут обрабатываться в сетевой карте.

netsh int tcp set global chimney=automatic (параметры enabled/disable/automatic)

так же интересна такая команда как cmd>netsh int tcp show chimneyapplications (chimneystats)

NetDMA State : enabled

NetDMA это использование механизма DMA обмен информацией между сетевой платой и памятью ОЗУ без участия CPU.

Ключ в реестре HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters

EnableTCPA=1

netsh int tcp set global netdma=enable (параметры enable/disable)

так же интересна такая команда как cmd>netsh int tcp show netdmastats

Direct Cache Acess (DCA) : enabled

Прямой доступ к кэшу NETDMA 2.0 только Windows 7 и 2008

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters

EnableDCA=1

netsh int tcp set global dca=enable (параметры enable/disable)

Receive Window Auto-Tuning Level : normal

Уровень автонастройки окна приема пакетов

netsh int tcp set global autotuninglevel=normal (параметры disabled/higlyrestricted/restricted/normal/experimental)

Add-On Congestion Control Provider : ctcp

Поставщик надстройки контроля перегрузки, CTCP увеличивает темп передачи с одновременным контролем размера окна и пропускной способности.

netsh int tcp set global congestionprovider=ctcp (параметры none, ctcp, default)

ECN Capability : disabled

ECN – это механизм взаимодействия маршрутизаторов о заторах в сети. Он предназначен для уменьшения ретрансляции пакетов. Это позволяет автоматически снижать скорость передачи данных для предотвращения потерь данных.

netsh int tcp set global ecncapability=disable (параметр enabled/disabled)

RFC 1323 Timestamps : enabled

Штампы времени при установки с ключами как Auto-Tuning Level оптимальный выбор размера окна приема.

netsh int tcp set global timestamps=enable (параметр enabled/disabled)

4.Некоторые параметры присутствуют в реестре ветки

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters

DisableTaskOffload=0 (если нет то создать)

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

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces{NIC-id}

TcpAckFrequency=2 (данный параметр влияет на производительность в сетевых играх, так как там нужно получать и отправлять маленькие пакеты)

Значение TcpAckFrequency определяет частоту отправки TCP/IP подтверждающего сообщения. Если значение равно 2, TCP/IP будет отправлять подтверждение после 2 принятых сегментов или после принятия 1 сегмента и отсутствия второго сегмента на протяжении 200 миллисекунд.

Если значение равно 3, TCP/IP отправляет подтверждение после приема 3 сегментов, или после приема 1 или 2 сегментов и отсутствии последующих сегментов на протяжении 200 миллисекунд. Если требуется сократить время ответа за счет удаления задержек отправки подтверждений TCP/IP, задайте это значение равным 1. В таком случае TCP/IP будет немедленно отправлять подтверждение для каждого сегмента.

В интернете много споров по поводу использования Receive-Side Scaling State и Receive Window Auto-Tuning Level у некоторых пользователей происходит разрыв соединения по VPN при применении данных параметров настройки. Хотя у меня проблем с этим нет.

TcpAckFrequency – Данная настройка задает количество TCP пакетов, которые Windows накапливает (в целях оптимизации) перед отсылкой. Выставление этой настройки в 1 приводит к отсылке нового пакета без накопления нескольких следующих.

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServic esTcpipParametersInterfaces

Дочерними элементами этого ключа будет несколько ключей вида {7DBA6DCA-FFE8-4002-A28F-4D2B57AE8383} у вас другие определяется по вашему IP. Кликните правой кнопкой мыши по свободном пространству в правой части окна. Появиться меню, в котором надо выбрать пункт “Создать/Параметр DWORD”. Появится новый параметр, назвать “TcpAckFrequency”. Кликните правой клавишей на созданном параметре и выберите пункт меню “Изменить”

В открывшемся окне введите значение 1

TCPNoDelay Идея: Данная настройка снижает Latency за счет отключения одного из внутренних алгоритмов Windows (Nagle algorithm).

HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSMQParameters

Найдите параметр (или создайте новый типа DWORD, если не нашли) TCPNoDelay

Измените значение найденного параметра на 1

//Уменьшение ping с 200-300ms до 50-60ms, но повторюсь теряете скорость на торрент, download и им подобные, так как на каждый свой пакет ждем подтверждения.

Попробовать можно, сделав сначала команду

cmd>netsh int tcp show global

чтоб не записывать, делаете скрин экрана, далее выполняете команду

cmd>netsh int tcp set global rss=enabled autotuninglevel=normal

проверяем работу, если что-то не устраивает, то делаем ход обратно например

cmd>netsh int tcp set global rss=disable autotuninglevel=disable

Еще раз повторюсь про Receive Window Auto-Tuning Level. На пальцах выглядит так:

Представьте себе поезд который сформирован на станции “А” и который пойдет до станции “B”, чтоб достичь конечного пункта ему нужно время, и перед отправкой делаем запрос на станцию “В” сколько она сможет принять вагонов (естественно если из например 50 она сможет принять 30, то 20 будут потеряны и их эти 20 придется повторять заново) . Есть варианта например 2:

1- состав из 10 вагонов идет 1час. до станции “В” и 1час. идет подтверждение от станции “В” до станции “А”

2- состав из 50 вагонов идет 1час. до станции “В” и 1час. идет подтверждение от станции “В” до станции “А”

есть только одно условие, последний вагон должен уйти со станции “А” в то время пока первый не дошел до станции “В”.

Следующий состав по данному маршруту будет сформирован после прихода подтверждения со станции “В” на станцию “А”

Если в момент движения вагонов произойдет проблема в “вагоне”, то нет смысла гнать состав заново, достаточно повторить только проблемный “вагон” выигрыш на лицо.

Пропускная способность дороги в варианте 1 очень низка.


Shortcuts

Tweaks to optimize Windows for low latency online gaming

2014-04-01 (updated: 2021-01-08) by
Tags: gaming, mmo, tweaks

Online Gaming can often benefit from some fine-tuning of Windows TCP/IP settings and the Network Adapter properties. This article is intended to supplement our general broadband tweaks and list only TCP/IP settings that are specific to online gaming and reducing network latency. Some of these settings are also mentioned in our general tweaking articles, however, the emphasis here is on latency rather than throughput, and we have complemented the tweaks with more gaming-specific recommendations and settings that give priority to multimedia/gaming traffic, and may be outside of the scope of other broadband tweaks that focus on pure throughput.

Some proficiency in using Command Prompt/PowerShell and editing the Windows Registry is expected. The Windows Registry can be accessed from the Start/Windows button -> type: regedit. Backing up your Registry before any edits is highly recommended, as mistakes can cause serious issues for the operating system.

Disable Nagle’s Algorithm

(TCP Optimizer “Advanced Settings” tab)
This tweak works with all versions of Windows from Windows XP to Windows 8.1/10/2012 server. This is the same as listed in our general tweaking articles per OS.

Nagle’s algorithm is designed to allow several small packets to be combined together into a single, larger packet for more efficient transmissions. While this improves throughput efficiency and reduces TCP/IP header overhead, it also briefly delays transmission of small packets. Disabling “nagling” can help reduce latency/ping in some games. Keep in mind that disabling Nagle’s algorithm may also have some negative effect on file transfers. Nagle’s algorithm is enabled in Windows by default. To implement this tweak and disable Nagle’s algorithm, modify the following registry keys.

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces{NIC-id}
There will be multiple NIC interfaces listed there, for example: {1660430C-B14A-4AC2-8F83-B653E83E8297}. Find the correct one with your IP address listed. Under this {NIC-id} key, create a new DWORD value:
“TcpAckFrequency”=1 (DWORD value, not present by default interpreted as 2, 1=disable nagling, specifies number of outstanding ACKs before ignoring delayed ACK timer). For gaming performance, recommended is 1 (disable). For pure throughput and data streaming, you can experiment with small values over 2. Wifi performance may see a slight improvement with disabled TcpAckFrequency as well.

In the same location, add a new DWORD value:
TCPNoDelay=1 (DWORD, not present by default, 0 to enable Nagle’s algorithm, 1 to disable)

To configure the ACK interval timeout (only has effect if nagling is enabled), find the following key:
TcpDelAckTicks=0  (DWORD value, not present by default interpreted as 2, 0=disable nagling, 1-6=100-600 ms). Note you can also set this to 1 to reduce the nagle effect from the default of 200ms without disabling it.

For Server Operating Systems that have Microsoft Message Queuing (MSMQ) installed, or if you have the MSMQ registry hive present, also add TCPNoDelay to:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSMQParameters
TCPNoDelay=1 (DWORD, not present by default, 0 to enable Nagle’s algorithm, 1 to disable)

Note: Reportedly, disabling Nagle’s algorithm can reduce the latency in many MMOs like Diablo III and WoW (World of Warcraft) by almost half! Yes, it works with Windows 7 and Windows 8.

Network Throttling Index Gaming Tweak

(TCP Optimizer “Advanced Settings” tab)
Works with all current versions of Windows from Vista to 8.1/10/2012 Server.

Windows implements a network throttling mechanism to restrict the processing of non-multimedia network traffic to 10 packets per millisecond (a bit over 100 Mbits/second). The idea behind such throttling is that processing of network packets can be a resource-intensive task, and it may need to be throttled to give prioritized CPU access to multimedia programs. In some cases, such as Gigabit networks and some online games, for example, it is beneficial to turn off such throttling all together for achieving maximum throughput.

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile]
“NetworkThrottlingIndex”=dword:ffffffff (DWORD, default: 10, recommended: 10 for media sharing, ffffffff for gaming and max throughput, valid range: 1 through 70 decimal or ffffffff to completely disable throttling)

It is only recommended to change this setting in saturated Gigabit LAN environments, where you do not want to give priority to multimedia playback. Reportedly, disabling throttling by using ffffffff can also help reduce ping spikes in some online games. Games that may be affected by this throttling: Source Engine games (TF2, Left 4 Dead, CS:S), HoN, CoD, Overlord series.

System Responsiveness Gaming Tweak

(TCP Optimizer “Advanced Settings” tab)
Exists in all versions of Windows from Vista to 8.1/10/2012 Server.

Multimedia applications use the “Multimedia Class Scheduler” service (MMCSS) to ensure prioritized access to CPU resources, without denying CPU resources to lower-priority background applications. This reserves 20% of CPU by default for background processes, your multimedia streaming and some games can only utilize up to 80% of the CPU. This setting, in combination with the “NetworkThrottlingIndex” can help some games and video streaming. We recommend reducing the reserved CPU for background processes from the default of 20%.

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile]
“SystemResponsiveness”=dword:00000000  (default: 20, recommended: decimal 10 for general applications, 0 for pure gaming/streaming)

Note: In Server operating systems (Windows 2008/2012 Server), SystemResponsiveness is set to 100 by default, denoting that background services should take priority over any multimedia applications.

Turn off LargeSystemCache

(TCP Optimizer “Advanced Settings” tab)
For local network large file transfers, this registry settings allows for better throughput and eliminates some file sharing event log errors (Event ID 2017 error). However, reportedly it has issues with some ATI Video card drivers and certain applications performance. Therefore we recommend turning it off (set to zero) for gaming.

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
LargeSystemCache=0
(DWORD, default value: 0, recommended value: 1 for LAN throughput, 0 for gaming)
A value of zero establishes a cache of ~8 MB, a value of 1 allows the cache to expand up to the amount of physical memory minus 4 MB, as necessary.

Disable Game Bar and Game Mode under Windows 10 Creators update

Windows 10 Creators’ update introduced a “Game Bar” to to help Xbox integration and gaming in general, however, they can reportedly cause stuttering during gaming, especially with Windows 10 builds prior to v1709.

More Gaming Tweaks

This section includes gaming-specific tweaks not listed in our general tweaking articles (and not implemented by the TCP Optimizer).

In the same Registry hive as the above two tweaks, you can also change the priority of Games, compared to other types of traffic. These tweaks only affect games that communicate with e Multimedia Class Scheduler Service (MMCSS). Below is a list of the settings and default/recommended values:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfileTasksGames]
“Affinity”=dword:00000000  (DWORD, default: 0, recommended: 0. Both 0x00 and 0xFFFFFFFF indicate that processor affinity is not used)
“Background Only”=”False”   (REG_SZ, default: “False”, recommended: “False”, possible values are True or False). Indicates whether this is a background task.
“Clock Rate”=dword:00002710  (DWORD, default: 2710, recommended: 2710). The maximum guaranteed clock rate the system uses if a thread joins disk task, in 100-nanosecond intervals.
“GPU Priority”=dword:00000008  (DWORD, default: 2, recommended: 8. range: 0-31). The GPU priority. Not used in Windows XP and 2003.
“Priority”=dword:00000002   (DWORD, default: 2, recommended: leave alone if using “Scheduling Category” below, set to 6 otherwise for gaming, possible values are 1-8). The task priority, ranging from 1(low) to 8(high). Note  for tasks with Scheduling Category of “High”, this value is always treated as 2.
“Scheduling Category”=”High”   (REG_SZ, default: “Medium”, recommended: “High”. possible values: Low, Medium, High)
“SFIO Priority”=”High”  (REG_SZ, default: “Normal”, recommended: “High”) The scheduled I/O priority, possible values are Idle, Low, Normal, or High.

Reference: Multimedia Class Scheduler Service

Congestion Control Provider

The TCP Congestion Control Algorithm controls how well, and how fast your connection recovers from network congestion, packet loss, and increase in latency. Microsoft changed the default “congestion provider” from CTCP to CUBIC with the Windows Creators update.

Possible settings are: none, CTCP, CUBIC, DCTCP, New-Reno
Recommended: CTCP for gaming and latency sensitive apps, CUBIC for pure throughput

To see the current setting, in PowerShell use: Get-NetTCPSetting | Select SettingName, CongestionProvider  (in later Windows 10 builds, the default used template “SettingName” is “Internet”. For more info se our Windows 10 Tweaks article)

Note: If using CTCP and with lossy connections (good possibility of congestion/packet loss), you may also want to enable ECN.

ECN Capability

(Editable with the TCP Optimizer)
ECN (Explicit Congestion Notification, RFC 3168) is a mechanism that provides routers with an alternate method of communicating network congestion. It is aimed to decrease retransmissions. In essence, ECN assumes that the cause of any packet loss is router congestion. It allows routers experiencing congestion to mark packets and allow clients to automatically lower their transfer rate to prevent further packet loss. Traditionally, TCP/IP networks signal congestion by dropping packets. When ECN is successfully negotiated, an ECN-aware router may set a bit in the IP header (in the DiffServ field) instead of dropping a packet in order to signal congestion. The receiver echoes the congestion indication to the sender, which must react as though a packet drop were detected. ECN is disabled by default in modern Windows TCP/IP implementations, as it is possible that it may cause problems with some outdated routers that drop packets with the ECN bit set, rather than ignoring the bit.

Possible settings are: enabled, disabled, default (restores the state to the system default).
Default state: disabled
Recommendation: “enabled” for gaming only with routers that support it, after testing. It’s effects are more noticeable in the presence of congestion/packet loss. Disable for pure throughput with no packet loss.

ECN works well for short-lived, interactive connections like gaming and HTTP requests with routers that support it, in the presence of congestion/packet loss. It can be disabled if tuning for pure bulk throughput with large TCP Window, no regular congestion/packet loss, or with outdated routers that do not support ECN.

To change using netsh:

netsh int tcp set global ecncapability=enabled
(alternative syntax:  netsh int tcp set global ecn=enabled)

To change using PowerShell cmdlets in Windows 8.1/2012 Server R2 :

Set-NetTCPSetting -SettingName InternetCustom -EcnCapability Disabled
(for Windows 8/2012, the name of the template in the above command is “Custom” instead of “InternetCustom”)

Notes:
ECN is only effective in combination with AQM (Active Queue Management) router policy. It has more noticeable effect on performance with interactive connections, online games, and HTTP requests, in the presence of router congestion/packet loss. Its effect on bulk throughput with large TCP Window are less clear. Currently, we only recommend enabling this setting in the presence of packet loss, with ECN-capable routers. Its effects should be tested. We also recommend using ECN if you are enabling the CoDel scheduling algorithm to combat bufferbloat and reduce latency.
Use caution when enabling ECN, as it may also have negative impact on throughput with some residential US ISPs. Some EA multiplayer games that require a profile logon do not support ECN yet (you will not be able to logon). Note that if supported, ECN can reduce latency in some games with ECN-capable routers in the presence of packet loss (dropped packets).

See also: Wikipedia – ECN, RFC 3168

Disable Receive Segment Coalescing State (RSC)

(Editable with the TCP Optimizer) This is applicable to Windows 8/10/2012 Server, not available for earlier Windows versions.

Receive Segment Coalescing (RSC) allows the NIC to coalesce multiple TCP/IP packets that arrive within a single interrupt into a single larger packet (up to 64KB) so that the network stack has to process fewer headers, resulting in 10% to 30% reduction in I/O overhead depending on the workload, thereby improving throughput. Receive Segment Coalescing (RCS) is able to collect packets that are received during the same interrupt cycle and put them together so that they can be more efficiently delivered to the network stack. While this reduces CPU utilization and improves thorughput, it can also have a negative impact on latency. That is why we recommend you disable it where latency is more important than throughput.

Possible states: enabled, disabled, default. Default state: disabled
Recommended: disabled for pure gaming latency, enabled for better throughput.
To enable using netsh:

netsh int tcp set global rsc=disabled

To change using PowerShell cmdlets:

Disable-NetAdapterRsc -Name *  (use to disable RSC for all adapters)
Enable-NetAdapterRsc -Name *  (use to enables RSC for all adapters that support it)
Get-NetAdapterRsc -Name *       (use to view adapters that support RSC)

Notes: Only supported by some network adapters. May need “Checksum Offload” enabled as well to work.

Disable Large Send Offload (LSO)

(Editable with the TCP Optimizer) Windows 8/10/2012 Server, not available in earlier Windows versions

Large Send Offload lets the network adapter hardware to complete data segmentation, rather than the OS. Theoretically, this feature may improve transmission performance, and reduce CPU load. The problem with this setting is buggy implementation on many levels, including Network Adapter Drivers. Intel and Broadcom drivers are known to have this enabled by default, and may have many issues with it. In addition, in general any additional processing by the network adapter can introduce some latency which is exactly what we are trying to avoid when tweaking for gaming performance. We recommend disabling LSO at both the Network Adapter properties, and at the OS level with the setting below.

Default: adapter-dependent
Recommended: disable (both in network adapter properties and in the TCP/IP stack at the OS level)

Disable-NetAdapterLso -Name *    (disable LSO for all visible network adapters)
Enable-NetAdapterLso -Name *    (to enable LSO for both IPv4 and IPv6 on all network adapters, not recommended)
Get-NetAdapterLso -Name *  (get a list of network adapters that support LSO)

Notes: Default state is network adapter dependent. Needs Checksum Offload to be enabled to work.

Receive-Side Scaling State (RSS)

(Editable with the TCP Optimizer)
It is sometimes useful to disable RSS if you need to reduce CPU load. This is useful on systems with older/slower CPUs where games tax the processor up to 100% at times. This could be checked with “Task Monitor”. Disabling RSS will only have an effect if your network adapter is capable/using RSS, and the CPU is being used up to 100%. Otherwise, you can leave it enabled.

To disable:

netsh int tcp set global rss=disabled

Advanced Concepts

Disable Coalescing: Some network adapters support advanced settings, such as DMA Coalescing, DCA Coalescing, Receive Segment Coalescing (RSC). In general, any type of packet or memory coalescing can reduce CPU utilization (also power consumption) and increases throughput, as it allows the network adapter to combine multiple packets, however, coalescing can also have negative impact on latency, especially with more aggressive settings. That is why it should be either disabled, or used very conservatively for gaming.  Any type of network adapter packet/memory coalescing allows the NIC to collect packets before it interacts with other hardware. This may increase network latency. For gaming, disable “DMA coalescing” and “Receive Side Coalescing State (RSC)”, where applicable.

NetDMA: This setting needs to be supported by the NIC, BIOS, and CPU (Intel I/O Acceleration Technology – I/OAT). It allows the network adapter direct memory access (DMA), theoretically reducing CPU usage. It is ok to enable for OSes that support it (according to Microsoft it is no longer supported in Windows 8/10). Note that NetDMA is not compatible with TCP Chimney Offload (Chimney offload should be disabled for gaming anyway).

TCP Offloading: TCP Offloads can improve throughput in general, however, they’ve been plagued by driver issues in the past, and, they also put more strain on the network adapter. For pure gaming, disable any TCP Offloads, such as “Large Send Offload (LSO)”, for example. For pure gaming and lowest possible latency, the only safe offload that should be left to the network adapter is “Checksum Offload”.

Disable Interrupt Moderation: If your Network Adapter supports this setting, it should be disabled for the lowest possible latency (at the expense of a bit higher CPU utilization).

For some of those settings specific to your OS, see our tweaking articles. To disable at the network adapter, see our Network Adapter Optimization article.

Use adequate Send/Receive buffers: low send/receive buffers values conserve a bit of memory, however they can result in dropped packets and decreased performance if exhausted, so they shouldn’t be set to values less than 256 in general. Higher-end NICS/systems can increase the values a bit to 512, or up to 1024.

Router Settings

Most broadband users have some type of NAT router that sits between them and the internet. There are some settings that may help your router better prioritize gaming traffic and improve gaming experience.

Enable upstream QoS in your router. It may be useful to enable upstream QoS at the router, if available, to prioritize the different types of traffic. Upstream QoS is important, because typically residential connections have much lower upstream cap, and when upstream bandwidth is all utilized, it can introduce some delay in the downstream traffic as well. Note this is only recommended for newer routers, where the router has ample computing power to handle the QoS overhead.

Enable WMM if using Wi-Fi. If you must use Wi-Fi, enable WMM, and try to avoid USB Wi-Fi adapters.

Use Open Source Firmware. Many NAT router models support open source firmware, such as dd-wrt, Tomato, etc. If your router’s default firmware does not support advanced functionality that you may need (QoS, WMM, VLANs, etc.), you may be able to flash dd-wrt instead. It is not uncommon for open source firmware to make your connection more stable and reduce router overhead/delay.

Enable CTF (Cut Through Forwarding) – CTF is Broadcom proprietary NAT acceleration. It is a software module that allows routers based on their hardware/firmware to achieve near-gigabit performance and lower CPU utilization through various methods, including bypassing parts of the Linux stack. It is a great feature to use, however there is a catch – it is only available when not using certain other incompatible features that need the Linux functionality (like QoS). You’d have to pick which feature you prefer by testing. In our experience CTF performs better, as the lower CPU/memory utilization and minimal processing trumps QoS in both throughput and latency.

TCP/UDP Timeouts – tweaking the TCP/UDP timeouts can have a noticeable impact on your connection by freeing up resources for active connections. Some of the more advanced router firmwares (Tomato, ASUS Merlin, dd-wrt) have a number of tweakable timeout settings that we’ve already covered in our Wireless Network Speed Tweaks article linked below.

Note: If using dd-wrt, or on Wi-Fi, check our wireless network speed tweaks, some of the advanced router settings are applicable to wired connections as well.

General Online Gaming Recommendations

  • Use brand-name, wired Ethernet cards when possible – avoid Wi-Fi, especially with USB client adapters.
  • When tweaking TCP/IP (using our general tweaking articles), enable CTCP, enable DCA, and try disabling most “TCP Offloading” settings, with the exception of “Checksum Offload” in both the OS and the Network Adapter Properties.
  • Disable “Flow Control” and “Interrupt Moderation” in your Network adapter properties
  • Disable TCP/IPv6 in Network adapter properties if not using IPv6
  • Reduce the number of background processes, enable QoS at your router and give priority to your traffic.
  • Test your latency to game servers using “tracert” in Command Prompt (or PowerShell).
  • Disable search indexing on your SSD/hard drive (right-click on drive in Explorer -> choose “Properties” -> untick “Allow files on this drive to have contents indexed…” and wait a few minutes, ignore errors for system-protected files)
  • Close unnecessary programs running on your network, you can close the processes in task manager (ctrl+shift+escape). P2P applications such as utorrent and skype open many sockets purely for passive listening and eat up a lot of your available bandwidth. Programs that check for software updates, eg google updates, adobe update, etc. can cause ping spikes.

Intel Recommended Network Adapter Settings

Optimized for quick response and low latency (Gaming):

  • Minimize or disable Interrupt Moderation Rate
  • Disable Offload TCP Segmentation
  • Increase Transmit Descriptors
  • Increase Receive Descriptors
  • Increase RSS Queues

Optimized for throughput:

  • Enable Jumbo Frames
  • Increase Transmit Descriptors
  • Increase Receive Descriptors

For low CPU utilization:

  • Maximize Interrupt Moderation Rate
  • Keep Receive Descriptors at default
  • Avoid setting large Receive Descriptors
  • Decrease RSS Queues
  • Decrease the Max number of RSS CPUs in Hyper-V environments

Notes

In some situations, latency can even be reduced by using a VPN provider. Many ISPs provide fast/reliable internet locally between you and their servers, however lack in both speed in latency when it comes to their peering arrangements and backbones for longer distance connections. They could also be throttling certain traffic types. In such situations, a local to you quality VPN provider may allow you to avoid the ISP bottleneck by bypassing a lot of internal/cluttered routing and skip to a distant location faster, providing a lower latency connection.

Some of the tweaks in our general broadband tweaks articles can benefit gaming as well, like disabling “Windows Scaling Heuristics”, disabling TCP 1323 Timestamps to reduce the TCP headers overhead, etc.

Most of the Registry tweaks above (with the exception of “More Gaming Tweaks”) can be applied easily by using the TCP Optimizer

See Also

Wireless Network Speed Tweaks – some of the router recommendations apply to wired networks and gaming as well.
Network Adapter Optimization – tweaking your NIC settings can help improve your connection.

We appreciate any feedback and always listen to user suggestions.

Windows Server 2012 is the first Windows Server version to enable Explicit Congestion Notification, or ECN, in the TCP stack. This is also known as ECN Capability. Explicit Congestion Notification is an extension to the Internet Protocol and to the Transmission Control Protocol and is defined in RFC 3168. ECN allows end-to-end notification of network congestion without dropping packets.

ECN is an optional feature that may be used between two ECN-enabled endpoints when the underlying network infrastructure also supports it.

Outdated network equipment dropping packets that have ECN bits set

Unfortunately, rather than responding properly or ignoring the bits, some outdated or faulty network equipment drop packets that have ECN bits set. This slows down your outbound connections, because packets need to be retransmitted without ECN bits. As retransmission intervals increase, it may take up to 10 seconds before a connection is made.

Until most network equipment supports ECN bits in packets, my advise is to disable ECN on Windows Server 2012 (R2) server. This is easily done with netsh:

Disable Windows Server Explicit Congestion Notification (ECN) capabilities

You may choose to disable Explicit Congestion Notification support on Windows Server 2012 if you experience slow outbound connections. Connections with up to a 10 second delay.

Here is how to disable ECN Capability using netsh. A reboot is not required.

First verify ECN Capability is enabled. Look for “Enabled” in the command output from

netsh interface tcp show globalCode language: PowerShell (powershell)

If ECN Capability is enabled, you can disable it:

netsh interface tcp set global ecncapability=disabledCode language: PowerShell (powershell)

A reboot is not required.

Enjoy your fast(er) outbound connections from now on!

A note on Windows TCP AutoTuningLevel: Like all modern operating systems Windows has receive window auto-tuning to dynamically adjust the receive buffer size to the throughput and latency of the link. Disabling this feature will definitely limit your Internet speeds. Auto-tuning is consistent throughout all variants of TCP and present in all modern operating systems. Read An Update on Windows TCP AutoTuningLevel (Wayback Machine archived link) for more information.

Reset TCP parameters and re-enable ECN

You can use the following netsh command to reset all TCP parameters to their default values:

netsh interface tcp resetCode language: PowerShell (powershell)

Or if you just wish to re-enable ECN:

netsh interface tcp set global ecncapability=enabledCode language: PowerShell (powershell)

Hi, my name is Jan. I am not a hacker, coder, developer or guru. I am merely an application manager / systems administrator, doing my daily thing at Embrace – The Human Cloud. In the past I worked for clidn and Vevida. With over 20 years of experience, my specialties include Windows Server, IIS, Linux (CentOS, Debian), security, PHP, websites & optimization. I blog at https://www.saotn.org.

Добавить комментарий