Ограничить трафик для приложений windows

Как ограничить пропускную способность отдельных программ в Windows

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

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

Ограничение доступа в Интернет для программ в Windows 10

Рассмотрим процесс ограничения доступа на примере Windows 10, хотя этот способ будет работать также на Windows XP, 2003, Vista, 7, 8. Для реализации нашей задачи мы будем использовать программу Net Balancer. Это программа платная, но незарегистрированная версия тоже работает с ограничением в 3 активных процесса и 3 правила. Для большинства домашних пользователей этого будет вполне достаточно.

Для начала нужно скачать Net Balancer с официального сайта. Процесс установки программы ничем не отличается от большинства приложений.

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

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

Перезагрузите компьютер после завершения установки.

После перезагрузки компьютера запустите Net Balancer с помощью ярлыка на рабочем столе, через меню «Пуск» или двойным щелчком на информере в трее.

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

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

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

Программа позволяет сортировать процессы по нескольким параметрам. Чтобы лучше было видно, какие приложения потребляют больше трафика, можно нажать на названии столбца «Загрузка». В результате процессы будут отсортированы по возрастанию или убыванию в зависимости от интенсивности использования канала связи.

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

Обычный приоритет равносилен отсутствию ограничений для приложения. Величину низкого и высокого приоритетов можно настроить с помощью инструмента «Соотношение приоритетов» (находится в меню «Установки»).

Если вы хотите задать конкретное ограничение для программы, то это можно сделать через контекстное меню «Загрузка->Ограничение».

В результате выбора этого пункта должно загрузиться окно «Edit Priority», в котором можно задать лимит трафика на загрузку. Как видно из изображения ниже я задал ограничение в 100 Килобайт/с для процесса MicrosoftEdgeCP.exe.

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

После установки лимита загрузки на рисунке ниже вы можете видеть, что процесс MicrosoftEdgeCP.exe не может превысить установленное ограничение.

Для отмены ограничений достаточно изменить приоритет загрузки на «Обычный».

Если Net Balancer не определил вашу сетевую карту или вы хотите настроить контроль только определенных соединений, то это можно сделать через пункт меню «Установки->Сетевые адаптеры».

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

3 способа ограничить скорость интернета на компьютере от WiFiGid

Приветствую на нашем белом и пушистом портале о беспроводных сетях WiFiGid.ru! Недавно в нашу редакцию поступил ОЧЕНЬ странный вопрос – человек не знает, как ограничить скорость интернета на компьютере. Обычно люди, наоборот, придумывают изощренные методы увеличения скорости, а тут вот так…

Первоначально хотелось отправить его к провайдеру – дескать смени тариф на худший да и не волнуйся, но речь все-таки шла об урезании скорости в локальной сети, чтобы все устройства жрали интернет в своих пределах и не мешали другим. Честно сказать, подобная проблема пытается решаться чуть ли не с зарождения широкополосного интернета в домашних условиях, но роутеры так и не научились быстро и удобно урезать скорость по устройствам. Остальные извращения – в этой статье.

У вас есть другой опыт? Можете дополнить статью хорошим советом? Пожалуйста, напишите об этом в комментариях. Соберем коллекцию проверенных методов в одном месте.

На роутере

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

Читайте также:  Яндекс браузер mod windows

Другие методы тоже могут помочь, но они не решают главную проблему – центральное управление полосой пропускания. Что нужно сделать:

  1. Зайти в настройки своего роутера. Как это сделать? Все роутеры разные, в один абзац все варианты не распишешь. Что рекомендую я – напишите точную модель с цифрами в поиске на нашем сайте, скорее всего получите готовую инструкцию по настройке, включая и вход.
  2. После того, как попадете в настройки, пробегитесь по разделам, и найдите что-то связанное с полосой пропускания (Bandwidth). Снова, разделы скорее всего будут отличаться от моего, но все-таки попробуйте просмотреть все настройки.

Вот так этот раздел выглядит на моем маршрутизаторе:

Что здесь нужно сделать:

  • Включить – если не включите, работать ничего не будет.
  • Задать диапазон IP адресов, к которым вы применяете правила. Допустим, в моем случае ограничим скорость на адресах 192.168.0.100 и 192.168.0.101. Если ничего не зададите – конкретно на моей модели ничего работать не будет. Т.е. это один из главных параметров ограничения.
  • Порты – тоже нужно указать. Если ограничить сайты – это 80й порт (HTTP) и 443 (HTTPS). Если хотите порезать все (те же торренты), делайте как на моем скрине ниже.
  • Ну и основная настройка – скорости. Можно поставить минимальные и максимальные пороги для входящего и исходящего трафика. В моем примере ограничиваю входящую до 1 Мбит/c.

Сохраняете – в течение минуты роутер должен подхватить правила, и все заработает. Из минусов моей модели можно отметить отсутствие фильтрации по MAC-адресам, но на безрыбье и так сойдет. Ведь следующие методы еще хуже.

В некоторых роутерах за это отвечает служба QoS, которая в базовом состоянии управляет приоритетным выделением канала, но, в частности, способна и уменьшить скорость интернета. Вот так это выглядит на ASUS:

А еще с мамонтовых времен эту функцию называют «шейпером» от «shaping». Вдруг тоже где попадется.

На компьютере

Теперь переходим к нашему любимому компьютеру на базе Windows (подойдут Windows 7 и Windows 10). Из базового функционала многие рекомендуют ограничивать режим работы сетевого адаптера. Т.е. у вас на компьютере есть проводной или беспроводной адаптер, через который вы подключаетесь к интернету, и он поддерживает разные скорости работы – 10-100-1000 Мбит/c. Умельцы и догадались опускать его до 10 Мбит/c. Как по мне – лютой извращенство, но работает ведь.

Как это сделать:

  1. Находим значок своего сетевого соединения в трее возле часов. Щелкаем по нему правой кнопкой мыши и выбираем «Центр управления сетями и общим доступом» (Windows 7) или «Параметры сети и интернет» (Windows 10):

  1. Далее ищем «Настройка параметров адаптера» («Изменение параметров адаптера»):

  1. Должен открыться список ваших адаптеров. Находим тот, через который сейчас подключены к интернету. Щелкаем по нему правой кнопкой мыши, и выбираем «Свойства»:

  1. Щелкаем по кнопке «Настроить»:

  1. Переходим во вкладку «Дополнительно». На проводных соединениях ищем пункт «Скорость линии и режим дуплекса» (Speed & Duplex):

  1. Для тех, у кого адаптер беспроводной, придется пойти другим путем. Ищем «Режим беспроводной сети…». Их тут два у меня – для обычно 2,4 ГГц (b/g/n), и для новой 5 ГГц (n/ac). Обычно дома старые модели используют как раз 2,4 ГГц, а второй у вас может и не быть. Выбираем тот же первый и устанавливаем ему старый стандарт 802.11g (скорость до 54 Мбит/c) – при желании можно выбрать и b:

Этот метод подойдет тем, у кого интернет около 100 Мбит/c, а срезать скорость до 10 или тех же 54 Мбит – вполне приятно. Но и минус налицо – придется делать на каждом устройстве вручную, а телефоны и телевизоры не поддерживают этот функционал. Так что метод с роутером предпочтительнее.

Сторонние программы

Для владельцев Windows есть отдельные программы, уже точечно исполняющие ограничение. Вот самые популярные из них:

  • Traffic Inspector
  • NetLimiter
  • BWMeter – сам пользовался в старые времена, когда нужно было контролировать прежде всего ВЕСЬ ТРАФИК. Но еще тогда была замечена функция ограничения скорости интернета.
  • NetBalancer
  • Tmeter – тоже приходилось плотно пользоваться этой программой для раздачи интернета. Т.е. во времена, когда приходилось из компьютера создавать роутер и раздавать лимитированный интернет всем подключенным.
  • SoftPerfect Bandwidth Manager
  • Traffic Shaper XP

Фишка таких приложений – они могут не просто срезать весь трафик на компьютере, но и ограничить конкретное приложение. На примере NetLimiter, сортируем все программы по потреблению трафика:

А далее вносим лимит:

Про ограничение доступа

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

  • Гостевые сети – роутер создает еще одну беспроводную сеть с отдельным именем, но с ограничениям – вроде отсутствия допуска к локальной сети или срезанием скорости (это зависит от роутера).
  • Фильтр по IP и MAC-адресам – популярная фильтрация убиения всех чужих клиентов в сети.
  • Родительский контроль – тоже популярная функция управления доступом к интернету для устройств. Обычно есть фильтры по IP, MAC и разграничение по времени.
Читайте также:  Как вызвать kernel panic linux

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

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

Способы ограничения скорости копирования по сети в Windows

В этой статье мы рассмотрим способы ограничения скорости передачи данных по сети с/на Windows Server 2016 и Windows 10 с помощью встроенных и сторонних средств. Как известно, что по умолчанию, приложения Windows используют сетевой интерфейс по максимуму. Это может вызвать проблемы, когда определенная задача (чаще всего это общие сетевые папки) используют всю доступную пропускную способность сетевой карты. В это случае вы можете ограничить максимальную скорость копирования файлов из сетевой папки, и предоставить пользователям других приложения гарантированные ресурсы сетевой карты.

Настройка групповой политики QoS в Windows

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

Групповые политики QoS поддерживается в:

  • Windows Server 2008 и выше
  • Windows Vista и выше

В первую очередь настройки параметры сетевой карты и убедитесь, что у вас включена опция Qos Packet Scheduler.

  1. Запустите оснастку локального редактора GPO (gpedit.msc) и перейдите в раздел Computer Configuration ->Windows Settings ->Policy-based QoS и нажмите Create new policy;
  2. Укажите имя политики, включите опцию Specify Outbound Throttle Rate и задайте ограничение скорости Throttle Rate. Это скорость в MBps/KBps (мегабайтах/килобайтах) до которой вы хотите ограничить исходящий трафик.

Настройка QoS политики в Windows завершена. Перезагружаться не надо, сразу после применения изменений скорость передачи по сети начнёт шейпиться. Обратите внимание, что Throttle Rate отображается редакторе политик в КилоБайтах, даже если вы выбрали значение 3 МБ.

Так как я выбрал все приложения и все порты, данная политика будет ограничивать максимальную скорость передачи файлов по сети до 3 Мб (в том числе при копировании файлов через File Explorer — explorer.exe).

Еще существуют Advanced QoS политики, которые доступны только в разделе конфигурации политик компьютера. Вы можете ограничить входящий TCP трафик на вкладке Inbound TCP Traffic. (Вкладка DSCP Marking Override относится к настройкам DSCP, её рассматривать мы не будем)

Как вы видите, имеются 4 уровня ограничения трафика. В следующей таблице указаны уровни и их скорости.

Inbound TCP throughput level Максимальная скорость передачи
0 64 Кб
1 256 Кб
2 1 Мб
3 16 Мб

Управление политиками QoS Windows средствами PowerShell

Для создания и управления политиками QoS можно использовать PowerShell. Например, чтобы создать политику QoS, ограничивающую пропускную способность для SMB (файлового) трафика, используйте команду:

New-NetQosPolicy -Name «SMBRestrictFileCopySpeed» -SMB -ThrottleRateActionBitsPerSecond 10MB

Чтобы вывести список примененных политик QoS на компьютере, выполните команду:
Get-NetQosPolicy

Чтобы изменить, или удалить политику QoS, используются соответственно командлеты Set-NetQosPolicy и Remove-NetQosPolicy .

Remove-NetQosPolicy -Name SMBRestrictFileCopySpeed

Set-SmbBandwidthLimit: управление пропускной способностью для SMB трафика из PowerShell

Командлет Set-SmbBandwidthLimit позволяет ограничить скорость передачи данных по SMB протоколу. Сначала нужно установить компонент Windows Server SMB Bandwidth Limit с помощью PowerShell:

Add-WindowsFeature -Name FS-SMBBW

Или можно установить его из графического Server Manager (Add Windows Feature -> SMB Bandwidth Limit).

Обычно данный модуль применяется для ограничения скорости для Hyper-V Live Migration. Например, следующая команда ограничить скорость миграции виртуальных машин до 100 Мбайт/сек.

Set-SmbBandwidthLimit -Category LiveMigration -BytesPerSecond 100MB

Вы также можете указать -Category Default для ограничения обычного трафика для передачи файлов по протоколу SMB.

Set-SmbBandwidthLimit -Category Default -BytesPerSecond 10MB

Ограничение скорости передачи файлов в Robocopy – ключ /IPG

При использовании robocopy вы также можете использовать специальный ключ, позволяющий ограничения скорости копирования/перемещения файлов по сети. Для этого используется ключ /ipg (Inter packet Gap). Этот ключ выставляет интервал между пакетами в миллисекундах и используется для снижения нагрузки на сеть при копировании по низкоскоростным каналам. Robocopy передает данные по сети блоками по 64 КБ, и таким образом, зная пропускную способность вашего канала, можно рассчитать нужное значение для /ipg , исходя из требований к ограничению скорости передачи.

Если вы не хотите углубляться в формулы, то можете использовать уже готовый калькулятор Robocopy IPG Calclator: http://www.zeda.nl/index.php/en/robocopyipgcalculator-en-2

Управление шейпингом трафика с помощью сторонних утилит

Из платных вариантов самым популярным решением для ограничения пропускной способности в Windows в зависимости от порта, приложения, назначения является программы NetLimiter, а из бесплатных TMeter Free.

Также можно отменить:

  • Glasswire – также включается в себя файервол и сетевой мониторинг;
  • NetBalancer – сетевой мониторинг и возможность настраивать правила для трафика;
  • cFosSpeed – может задать приоритет трафика для определенных приложений;
  • Net Peeker – как и Glasswire имеет функцию файервола и возможность задавать приоритеты для трафика.

С задачей ограничения скорости передачи данных по сети отлично справляются QoS политики Windows, поэтому если перед вами стоит такая задача, то политики QoS должны быть рассмотрены в первую очередь. К тому же как и любые политики, они могут быть настроены на уровне всего домена через консоль gpmc.msc.

Стороннее ПО более функционально и имеет графический интерфейс, но в большинстве случаев это платные программы.

Здрасьте !
Тема интересная, но приведите пожалуйста рабочий пример, как ограничить скорость по smb на клиентских машинах. Что-то у меня не прокатывает, указываю скорость порт, применяю политику и что скачивание что закачка идут на максималках.

И как я понял, Пош управляет только политиками созданными с помощью него же?!

Добрый день. Вы применяете политики к объектам компьютера или пользователя?
В статье есть рабочий пример.

Сразу отвечая на Ваш второй вопрос про PowerShell: тот командлет ограничивает скорость передачи по SMB, но в основном он применяется для ограничений лайв миграции Hyper-V

Вроде разобрался. Получается что через политику только исходящий трафик можно настроить ? Входящий только в адвансед по пунктам и то для всего трафика. Или ставить на сервер SMB Bandwith Limit.

Да, совершенно верно. Через QoS политики ограничивается исходящий трафик. А через advanced можно частично ограничить входящий.

Спасибо ! вроде понятно все.
К примеру мне нужно ограничить скачивание с сервера по smb на определенные подсети. Я создаю политику QoS, где указываю порт назначения 445 и подсети назначения (кстати можно ли их через запятую ? нада попробовать), скорость на какую резать. И применяю эту политику ну там по WMI фильру к серверам. Так правильно будет или можно и так <> ??

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

Спасибо еще раз .

Реализовывал сие еще года два назад.
Шейпил CIFS на канале между локациями.
Потом убрали и реализовали на cisco.

Есть в подчинении большая, распределенная сеть часто бывает необходимо распространить файлы на ПК, чаще всего дистрибутивы.
Использую PS-скрипт в котором провожу копирование c SMB ресурса с ограничением по скорости через Bits.
function CopyBitsCheck <
param ($path_From, $path_To, $FileNameFrom, $FileNameTo)
[bool]$inNeedCopy = $true
[bool]$bInError = $false
if ( [string]::IsNullOrEmpty($FileNameTo) )

$infullNetPath = $(Join-Path $path_From $FileNameFrom)
$infullLocalPath = $(Join-Path $path_To $FileNameTo)

if (-not $(Test-Path $path_To)) <
New-Item -Path $path_To -type directory -Force | Out-Null
>
if (Test-Path $infullNetPath) <
# доступен сетевой файл
if (Test-Path $infullLocalPath ) <
# есть локальный файл
If ( (Get-Item -Path $infullNetPath).lastWriteTime -ne (Get-Item -Path $infullLocalPath).lastWriteTime ) <
# сверяем по дате локальный и сетевой, если не совпадают
Write-Log «File $infullLocalPath exist. Date/time not compare. Need copy.» $Log
>
else <
$inNeedCopy = $false
Write-Log «File $infullLocalPath exist. Date/time compare.» $Log
>
>
if ( $inNeedCopy ) <
# Задаем политику Bits
if (! (Test-Path $RegBitsRootKey) ) <
New-Item –Path $RegBitsRootKey | Out-Null
>
New-ItemProperty -Path $RegBitsRootKey -Name ‘EnableBITSMaxBandwidth’ -PropertyType DWord -Value ‘00000001’ -Force| Out-Null
New-ItemProperty -Path $RegBitsRootKey -Name ‘MaxTransferRateOnSchedule’ -PropertyType DWord -Value $BitsSpeedWorkHours -Force| Out-Null
New-ItemProperty -Path $RegBitsRootKey -Name ‘MaxBandwidthValidFrom’ -PropertyType DWord -Value ‘8’ -Force| Out-Null
New-ItemProperty -Path $RegBitsRootKey -Name ‘MaxBandwidthValidTo’ -PropertyType DWord -Value ’22’ -Force| Out-Null # Скорость
New-ItemProperty -Path $RegBitsRootKey -Name ‘UseSystemMaximum’ -PropertyType DWord -Value ‘1’ -Force| Out-Null
New-ItemProperty -Path $RegBitsRootKey -Name ‘MaxTransferRateOffSchedule’ -PropertyType DWord -Value ‘0’ -Force| Out-Null
Restart-Service bits

Write-Log «Start copy from $infullNetPath to $infullLocalPath.» $Log
# Проверяем, есть ли задания Bits запущенное при прошлом запуске скрипта
$JobTransfer = Get-BitsTransfer |Where-Object <$PSItem.DisplayName -eq $FileNameFrom>
if ( [string]::IsNullOrEmpty($JobTransfer) ) <
# Нет задания. Запускаем асинхронно (с дозакачкой) с нормальным приоритетом с именем = имени файла.
$JobTransfer = Start-BitsTransfer -Source $infullNetPath -Destination $path_To -Priority Normal -Asynchronous -DisplayName $FileNameFrom
>
while ( $JobTransfer.jobstate.tostring() -ne ‘Transferred’ ) <
$Percent = «<0:n1>«-f ( ($JobTransfer.bytesTransferred/$JobTransfer.bytesTotal)*100 )
$NewBytesTransferred = $JobTransfer.bytesTransferred
if (![string]::IsNullOrEmpty($OldBytesTransferred) ) <
$Speed = «<0:n2>» -f $( ($NewBytesTransferred-$OldBytesTransferred)*8/1024/300) # Высчитываем сколько скачали за 5 минут байт, переводим в биты, килобиты, и делим на 300 сек, чтобы получить Kb/s
> else <
$Speed = «None»
>
Write-Log «Transfer $($FileNameFrom): status — $($JobTransfer.jobstate.tostring()), $Percent % complete, speed — $Speed Kb/s.» $Log
$OldBytesTransferred = $NewBytesTransferred
Start-Sleep 300
>
Complete-BitsTransfer -BitsJob $JobTransfer

If (-not ( Test-Path $infullLocalPath )) <
$bInError = $true
$ErrorMessage = «Bits-Transfer error»
>
>
> else <
$bInError = $true
$ErrorMessage = $error[0].Exception.Message
>

if ( $bInError ) <
Write-Log «Copy not complete. Error: $($ErrorMessage) Exit.» $Log
>

Remove-ItemProperty –Path $RegBitsRootKey -name ‘EnableBITSMaxBandwidth’
Remove-ItemProperty –Path $RegBitsRootKey -name ‘MaxTransferRateOnSchedule’
Remove-ItemProperty –Path $RegBitsRootKey -name ‘MaxBandwidthValidFrom’
Remove-ItemProperty –Path $RegBitsRootKey -name ‘MaxBandwidthValidTo’
Remove-ItemProperty –Path $RegBitsRootKey -name ‘UseSystemMaximum’
Remove-ItemProperty –Path $RegBitsRootKey -name ‘MaxTransferRateOffSchedule’

На ПК задана политика для включения бранчкеша в режиме распределенного кеша. Т.к. ПК W10 Pro, то бренчкеш работает только для файлов полученным через http (WSUS + PS-скрипты). Поэтому в планах сделать ресурс с дистрибутивами доступным через IIS с включенным бранкешем.
В итоге будет в идеальном случае: файл в удаленный офис где находятся несколько ПК скачивается 1 раз, при скачивании используется ограничение по скорости в разные часы. Если соседний ПК будет качать такой же файл, то ему его отдаст ПК находящийся в этом офисе.

Читайте также:  Windows 10 открыть сетевой принтера
Оцените статью