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

Обновлено: 04.07.2024

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

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

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

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

Хочу начать с того, каким образом отключаются службы в операционной системе Windows 10. Вы это сможете сделать несколькими путями, из которых рекомендуемым является вход в «Службы» с помощью нажатия Win+R на клавиатуре и ввода services.msc или через пункт панели управления «Администрирование» — «Службы» (второй способ — вход в msconfig на вкладку «Службы»).

После проделанных действ откроется окно со списком служб операционной системы Windows 10. Чтобы открыть подбробности каждой из них Вы можете просто сделать двойной клик на любую необходимую Вам службу. В открывающихся свойствах можно останосить либо запустить службу, а также изменить тип ее запуска.

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

Помимо отключения есть еще возможность удалить некоторые службы, удалив ненужные компоненты Windows 10. Сделать это можно в Панели управления , далее Программы и компоненты и затем Включение и отключение компонентов Windows.

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

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

  • Факс - используется для работы факса
  • NVIDIA Stereoscopic 3D Driver Service - для видеокарт NVidia, если вы не используете 3D монитор
  • Рабочие папки - можете отключить, если ваш ПК не в корпоративной сети
  • Dmwappushservice - данная служба отслеживает Ваше местоположения
  • Служба маршрутизатора AllJoyn - используется для работы Wi-Fi и Bluetooth (если пользуетесь ими - не отключать)
  • Служба шифрования дисков BitLocker - необходима для шифрования данных на диске
  • Служба поддержки Bluetooth - если у Вас есть Bluetooth и Вы его используете, то не отключать
  • Служба географического положения - также отслеживает Ваше местоположение
  • Служба обмена данными (Hyper-V) - отключайте, если не используете виртуальную машину. Аналогично для всех служб с добавкой Hyper-V
  • Служба наблюдения за датчиками - помимо слежки за датчиками, она может менять яркость монитора в зависимости от освещения в комнате
  • Функциональные возможности для подключенных пользователей и телеметрия - отключаем систему слежения Windows 10
  • Сетевая служба Xbox Live - предоставляет доступ к сервисам Xbox Live
  • Superfetch (она же SysMain) - отключать, если у Вас есть тормоза из-за жесткого диска. Если система на SSD, то отключать всегда
  • Биометрическая служба Windows - собирает биометрические данные о Вас
  • Удаленный реестр - позволяет удаленно работать с Вашим реестром
  • Служба записи компакт-дисков - отключать, если нет дисковода либо Вы его не используете
  • Служба лицензий клиента - нужна для работы магазина Windows 10
  • Центр обновления Windows - отключать, если не нужны обновления (вручную обновиться можно будет все равно)
  • NVIDIA Streamer Service - отключать, если не стримите
  • NVIDIA Streamer Network Service - аналогично предыдущей

Понятное дело, что одними службами быстродействие системы не поднять. Да и в целом службы очень слабо влияют на производительность. Но если провести комплексную работу с оптимизацией компьютера (я давал информацию по этому поводу в данной статье ), то жизнь у Windows 10 даже на стареньком жестком диске есть!

  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents Loading

Copy raw contents

Copy raw contents


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


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

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

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

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


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

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

В качестве части имени ветки мы используем *** , где *** надо заменить на 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.

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

Включить ECN Capability :

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

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

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

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

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

Диспозиция

Речь будет идти про настройку для ядра NT 6.1 (Windows 7 и Windows Server 2008 R2). Всякие исторические ссылки будут, но сами настройки и команды будут применимы к указанным ОС, если явно не указано иное.

В тексте будут упоминаться ключи реестра. Некоторые из упоминаемых ключей будут отсутствовать в официальной документации. Это не страшно, но перед любой серьёзной модификацией рабочей системы лучше фиксировать то, что Вы с ней делаете, и всегда иметь возможность удалённого доступа, не зависящую от состояния сетевого интерфейса (например KVM).

Содержание

  • Работаем с RSS
  • Работаем с CTCP
  • Работаем с NetDMA
  • Работаем с DCA
  • Работаем с ECN
  • Работаем с TCP Timestamps
  • Работаем с WSH
  • Работаем с MPP

Настраиваем RSS в Windows

Суть-то простая, да вот в реализации столько тонкостей, что можно написать отдельную статью. Пока это не является целью, поэтому постараюсь описать оные тонкости сжато и компактно :)

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

Примечание: Разные реализации RSS используют разную логику, поэтому тут рассматривается достаточно распространённый вариант

Как включить RSS в Windows

Настраиваем логику алгоритма контроля перегрузки (CTCP) в Windows

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

Примечание: Не путайте Congestion Windows (CWND) и Receive Windows (RWND). Это разные параметры TCP-сессии с разной логикой обработки

Как включить CTCP в Windows

netsh interface tcp set global congestionprovider=ctcp

Настраиваем использование NetDMA в Windows

Что нужно для включения NetDMA в Windows

Как включить NetDMA в Windows

Локально:

Через Group Policy:

Откройте ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ , создайте в нём параметр EnableTCPA вида 32bit DWORD и поставьте его в единицу

Секретный уровень

Настраиваем использование DCA (прямого доступа к кэшу NetDMA) в Windows

80% 10Gbit сети плюс 12ти ядер нагрузка CPU падает примерно на треть.

Как включить DCA в Windows

Локально:

Через Group Policy:

Откройте ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ , создайте в нём параметр EnableDCA вида 32bit DWORD и поставьте его в единицу

Технология ECN в явном виде относится и к IP, а не только к TCP, но все равно про неё стоит тут написать.

Кстати, проверить поддержку ECN ближайшим маршрутизатором можно бесплатной утилитой Internet Connectivity Evaluation Tool.

Как включить ECN в Windows

Примечание: Включится и описаный выше механизм ECN, и его специфичная часть, использующая TCP

Настраиваем TCP Timestamps (по RFC 1323) в Windows

Как включить TCP Timestamps в Windows

Побочные эффекты включения TCP Timestamps в Windows

Настраиваем автоматический подбор размера окна TCP (WSH) в Windows

Как включить Window Scaling Heuristic в Windows

Настраиваем базовую безопасность TCP (параметр Memory Pressure Protection) в Windows

Как включить Memory Pressure Protection в Windows

Включение MPP для отдельного порта (например, у нас наружу опубликован веб-сервер)

netsh int tcp set security startport=80 numberofports=1 mpp=enabled

Выключение MPP для всех портов, кроме указанного (например, кроме LDAP)

netsh int tcp set security startport=1 numberofports=65535 mpp=disabled netsh int tcp set security startport=389 numberofports=1 mpp=enabled netsh int tcp set security startport=636 numberofports=1 mpp=enabled

Дополнительно

На самом деле, можно включать или выключать MPP для протоколов IP разных версий отдельно, а не глобально для всех. Для этого будут два ключа реестра с предсказуемыми названиями:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableMPP
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\EnableMPP

Параметр EnableMPP в каждом из случаев имеет тип 32bit DWORD и ставится либо в единицу, либо в нуль.

Вместо заключения


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

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

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

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

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

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

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


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

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

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


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

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

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

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

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


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

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

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


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

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

В состав пакета SNP входят функции, известные как Receive-side scaling (RSS), TCP Chimney Offload (иногда ее называют TOE) и Network Direct Memory Access (NetDMA). В этой статье я расскажу о влиянии технологий RSS и TOE на производительность

Исторические проблемы

Недоверие в ИТ-сообществе

Из-за проблем с пакетом SNP в системе Server 2003 SP2 ИТ-сообщество быстро взяло за правило заранее или по ходу дела отключать эти функции. Для системы Server 2003 такой подход имеет смысл. Но в системах Server 2008 и Server 2008 R2 отключение данных функций зачастую может привести к снижению производительности сети и пропускной способности сервера. Эти функции весьма стабильны в системе Server 2008 R2 (с пакетом SP1 или без него), а достичь той же стабильности системы Server 2008 можно путем установки пакета SP2 и новых дополнительных исправлений. К сожалению, отключение функций как один из первых шагов в решении сетевых проблем по-прежнему является очень распространенной практикой устранения неполадок, при том что многие проблемы таким образом не решаются.

Многие клиенты также начали отключать дополнительные механизмы разгрузки, которые стабильно работают во многих версиях операционных систем. Эти механизмы, как правило, имеют названия TCP Checksum Offload, IP Checksum Offload, Large Send Offload и UDP Checksum Offload. Их можно настраивать в дополнительных свойствах сетевого адаптера или в его настройках. Эти механизмы не аналогичны функциям из пакета SNP, но клиенты часто путают их из-за схожих названий. Кроме того, множеству других средств повышения производительности эти механизмы требуются для работы.

Receive-side scaling

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

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

Чтобы технология RSS могла обеспечивать масштабируемость, она должна быть включена в операционной системе, которая имеет глобальное влияние на все сетевые адаптеры, и ее также необходимо включить на отдельных сетевых адаптерах через их дополнительные свойства или настройки конфигурации. По умолчанию в системах Server 2008 и Server 2008 R2 технология RSS включена. Вы можете узнать, включена технология или нет, анализируя результат следующей команды:

Если RSS отключена, вы можете увидеть показатели, аналогичные показанным на экране 1. Это изображение из закладки Performance в диспетчере Task Manager, и вы можете видеть, что загрузка процессора 0 держится на 100%, в то время как остальные процессоры работают с более низкой загрузкой. То, что процессор 0 имеет более высокую загрузку, свидетельствует о том, что технология RSS может быть не включена на сервере. После включения механизмов RSS вы можете увидеть на экране 2, что около 3:00 утра разница в использовании процессоров нивелировалась и значение загрузки для процессора 0 теперь довольно близко к показателям других процессоров.


Экран 1. Проверяем, включена ли технология RSS на сервере

Экран 2. Разница после включения RSS

RSS также зависит от разгрузок сетевого адаптера (о которых я упоминал ранее и которые включены «по умолчанию»), известных под названиями TCP Checksum Offload, IP Checksum Offload, Large Send Offload и UDP Checksum Offload (для протоколов IPv4 и IPv6). Так что, если они были отключены на сетевом адаптере, технология RSS не будет для него использоваться.

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

TCP Chimney Offload

Технология TCP Chimney Offload (часто называемая производителями TOE) передает обработку трафика TCP от процессора компьютера сетевому адаптеру, который поддерживает TOE. Передача TCP обработки с центрального процессора на сетевой адаптер может освободить процессор для выполнения функций, больше связанных с работой приложений. TOE может разгрузить обработку как для TCP/IPv4, так и для TCP/IPv6 соединений, если сетевой адаптер это поддерживает.

Из-за задержек, связанных с передачей обработки TCP/IP сетевому адаптеру, технология TOE максимально эффективна для приложений, которые устанавливают долговременные соединения и передают большие объемы данных. Серверы, выполняющие долговременные соединения, такие как репликация базы данных, работа с файлами или выполнение функций резервного копирования, являются примерами компьютеров, которые могут получить выгоду от использования TOE. Серверы с недолгими соединениями, такие как веб-серверы или почтовые серверы, могут не получить от данной технологии никакой пользы.

По умолчанию в системе Server 2008 технология TOE отключена. В системе Server 2008 R2 TOE по умолчанию использует новый автоматический режим. Вы можете определить, в какой режим — автоматический, включенный или отключенный — настроены механизмы, с помощью следующей команды, проанализировав содержимое строки Chimney Offload State в выходных данных:

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

В автоматическом режиме в системе Server 2008 R2 использование TOE предполагает разгрузку обработки соединения только при условиях, приведенных ниже. Это позволяет TCP Chimney разгружать соединения выборочно, а не все сразу.

  • Подключение установлено через 10-Гбит адаптер Ethernet.
  • Средняя задержка связи приема-передачи менее 20 миллисекунд.
  • Через соединение был произведен обмен данными объемом по крайней мере в 130 Kбайт.

Рекомендации по оптимальному использованию

Методом проб и ошибок мы выработали несколько общих рекомендаций, которые были с большим успехом применены в некоторых клиентских системах. Например, следуя нашим рекомендациям, одному из корпоративных клиентов Microsoft удалось увеличить производительность и стабильность своей организации Exchange Server до недостижимого прежде уровня. В таблице приведен список рекомендаций для каждой версии системы Server.

Таблица. Рекомендации по использованию RSS и TOE для каждой версии системы Server Windows Server 2008

Для работы с функциями пакета SNP мы настоятельно рекомендуем оставить технологию RSS включенной в операционной системе и в настройках сетевых адаптеров. Мы также советуем оставить технологию TCP Chimney установленной в автоматический режим в системе Server 2008 R2 и отключенной в системе Server 2008.

Если вы используете механизмы NIC Teaming, пожалуйста, используйте последние версии драйверов сетевой карты и дополнительного программного обеспечения, которое необходимо для создания групп из ваших сетевых карт, а также следуйте рекомендациям производителя относительно использования технологии Chimney TCP. Старые версии некоторых программ NIC Teaming не работают с RSS, но в более новых версиях такой проблемы нет.

Мы настоятельно рекомендуем вам оставить параметры всех остальных функций разгрузки, которые могут быть настроены в дополнительных настройках сетевого адаптера, в значениях по умолчанию (обычно — включено), так как отключение этих механизмов может привести к отключению других функций повышения производительности, которые зависят от них.

Поделитесь материалом с коллегами и друзьями

Бывало ли у вас такое, что ставите файл на закачку, и скорость медленно, но верно возрастает, затем, в какой-то момент, резко снижается, затем опять возрастает? Закачка файла в один поток не обеспечивает полную скорость канала? Запускаете торрент-клиент, и пинг в игре сильно прыгает? Используете 3G-модем (или другую линию с относительно большой потерей пакетов) и не можете это терпеть?
Наверняка вы винили во всем ваш роутер, либо обвиняли своего провайдера в кривой настройке шейпера? Это влияет, но виноваты не они.
Итак, встречайте:

TCP Congestion Control, или TCP Congestion Avoidance Algorithm.

Что это такое?

Вкратце ­— алгоритмы, которые пытается сделать все возможное, чтобы обеспечить наиболее быструю скорость передачи данных между двумя узлами, передающими данные через TCP. Они управляют размером TCP-окна и могут ориентироваться на RTT (Round Trip Time — время от отправки запроса до получения ответа), потерю пакетов, время ожидания отправки пакета из очереди и т.д. Каждый алгоритм по разному ведет себя в той или иной ситуации и нет какого-то универсального.

Долгое время, в ходу были алгоритмы Reno, разработанный в 1990 году, и BIC. Первый применялся во всех ОС Windows до XP, а второй — в Linux до 2.6.18. Затем, в Windows Vista появился новый алгоритм Compound TCP, а в Linux сменили BIC на Cubic.

Какие есть алгоритмы?

Их достаточно много. В ядре Linux 3.7 имеются:

  • BIC TCP
  • CUBIC TCP
  • Highspeed TCP
  • H-TCP
  • TCP Hybla
  • TCP-Illinois
  • TCP Low Priority
  • TCP Vegas
  • TCP NewReno
  • TCP Veno
  • TCP Westwood+
  • YeAH-TCP

Тест 3G


К сожалению, CUBIC, который используется по умолчанию во всех дистрибутивах, совершенно не подходит, например, для 3G-соединений. Ниже представлен график сравнения 4 алгоритмов congestion avoidance для HSDPA сетей за конец 2012 года из TCP Congestion Control over HSDPA: an Experimental Evaluation:

Как видите, CUBIC в отстающих. Он значительно повысил RTT на полной утилизации 3G канала, в то время как Westwood+ и NewReno более-менее справляются с этой проблемой.
Давайте взглянем на количество ретрансмиссий:


Как видно из графика, у CUBIC относительно большое количество ретрансмиссий


В то же время, он лидирует в скорости передачи данных за единицу времени.

Что это значит? Это значит, что с использованием Westwood+ или NewReno вы сможете комфортней серфить интернет, пока у вас скачивается большой файл.

Тест WiMAX и WiFi каналов

Тест взят из Comparative Performance Evaluation of TCP Variants in WiMAX (and WLANs) Network Configurations — еще одного интересного сравнения алгоритмов для беспроводных сетей.


В тесте №1 используется соединение компьютер-wimax.роутер-wimax.клиент с пропускной способностью между компьютером и роутером в 100 мбит/с и RTT в 45 мс и соотношением DL:UL 1:1 между wimax роутером и клиентом.
Зависимость эффективной передачи данных от потери пакетов:

Чуть изменим тест. В тесте №2 используется схема компьютер-роутер1-роутер2-wimax.роутер-wimax.клиент, где RTT 10 мс. между компьютером и первым роутером, далее используется 10 мбит/с канал с 25 мс. RTT, между вторым и wimax роутером канал опять 100 мбит/с c RTT в 10 мс.




Как видно из графиков, лидерство держит Westwood.
Картина для WiFi схожа с WiMAX:


Тест высокоскоростного канала

Этот тест взят из технического отчета алгоритма YeAH-TCP за 2006 год. Теоретически, YeAH является самым продвинутым алгоритмом и нацелен работать как можно лучше на высокоскоростных линиях, на линиях с высокой задержкой или высокими потерями пакетов.
Тесты делались с импользованием канала пропускной способностью в 500 mbit/s


В эффективной передаче данных в зависимости от RTT лидирует YeAH


Зависимость эффективной передачи данных и потери пакетов, опять YeAH занимает первое место

Как поменять?

Сменить Congestion Algorithm достаточно просто, всего одна строка:
sysctl -w net.ipv4.tcp_congestion_control=westwood
Где вместо westwood можно вставить названия из /lib/modules/. /kernel/net/ipv4/tcp_. ko без префикса tcp_.

Вместо заключения

На каналах вроде домашнего вайфая, рекомендую использовать Westwood или H-TCP. Для проводных каналов хорошим выбором может быть YeAH (если у вас не наблюдается с ним проблем), H-TCP или Illinois.

Читайте также: