Фоновая интеллектуальная служба что это
Перейти к содержимому

Фоновая интеллектуальная служба что это

  • автор:

BITS что это за служба в Windows?

BITS — интеллектуальная служба передачи данных между клиентом и HTTP-сервером. При этом при передачи используется интернет, который не используется. Как это? Например у вас интернет-пакет со скоростью 10 мегабит, а вы просто сидите в социальной сети, которая ну никак не может для отправки сообщений использовать все 10 мегабит. И вот то, что не используется — то может взять себе служба BITS для передачи данных) вот как-то так все и работает)

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

Как я понимаю, основная фишка службы BITS — фоновая загрузка данных, при которой используется не вся скорость интерната, а только неиспользуемая.

Кроме обновлений служба также используется и в антивирусе Microsoft Security Essentials (Windows Defender).

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

Нужно ли отключать службу BITS? Судя по тому где она используется — нет, отключать не стоит, иначе могут быть проблемы со встроенным антивирусом или с обновлениями. Но если вы ни первым ни другим не пользуетесь — то получается отключить можно. Но опять же, а если еще какая-то программа использует эту службу? Нельзя ведь точно знать какие проги используют, а какие нет. Поэтому.. нет, лучше все таки ее не отключать. Тем более что вряд ли она может грузить ПК — разве что совсем немного и только когда идет передача данных.

Чтобы отключить службу или посмотреть, включена она или нет, то нужно открыть окошко свойств — там есть вся необходимая информация. Как это сделать? А вот как — зажимаете Win + R, вставляете эту команду:

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

Как и многие системные службы, BITS работает под процессом svchost.exe, тут ничего удивительного нет.

Проверка состояния службы BITS

BITS Administration Utility (bitsadmin.exe)

BITS Administration Utility — инструмент управления службой BITS. Возможно что инструмент из себя представляет команду, так как имеет параметры для запуска из командной строки:

Да, bitsadmin.exe — это команда:

Я точно не знаю — но если интересно, то можете попробовать ввести в командную строку:

И в результате может отобразиться справка по этой команде.

Вирус может использовать BITS

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

Сегодня тот вирус уже вряд ли опасен — информация за 2016 год, а сейчас конец 2018, и скорее всего вирус уже внесен в антивирусные базы.

Нашел даже более точную информацию — вирус назывался Zlob.Q и он использовал BITS для связи с командным центром (C&C). И как обнаружили этот вирус? Все очень просто — была подозрительная активность службы BITS, ну и начали копать, и в итоге докопались.

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

  1. Первая утилита от Доктора Веба — Dr.Web CureIt!. Популярная в интернете, многие знают, одна из лучших, если не самая. Умеет чистить ПК от всяких троянов, червей, бэкдоров, находить даже те вирусы, которые используют механизмы скрытия и обусфакции. Кстати обусфакция (может неправильно написал, сори) — это когда вирус постоянно меняет свой код, чтобы его не обнаружили.
  2. Вторая утилита — AdwCleaner. Это уже немного проще утилита, но также важна и может вам сберечь нервы. Утилита ищет и удаляет не очень серьезные вирусы, но такие коварные.. и тут я имею ввиду — рекламные. Все эти вирусы, которые постоянно пихают вам рекламу, заражают рекламными ссылками ярлыки, автозагрузку, левые расширения ставят. В общем после чистки AdwCleaner комп может спокойно заработать быстрее.

Вот этими двумя утилитами я оч советую проверить ПК при малейшем подозрении на вирус. На этом все — удачи, надеюсь информация помогла.

Background Intelligent Transfer Service (BITS)

Background Intelligent Transfer Service (сокращенно BITS) — интеллектуальная служба операционной системы Windows, предназначенная для пересылки данных в фоновом режиме.

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

Принцип работы протокола BITS

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

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

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

Использование протокола BITS в приложениях Windows

Для пересылки данных приложения системы используют следующие СОМ-интерфейсы протокола:

  • IBackgroundCopyCallback — уведомляет об окончании передачи, изменении задания;
  • IBackgroundCopyError — уведомляет об ошибках;
  • IBackgroundCopyFile — уведомляет о файле (данных) в задании на пересылку;
  • IBackgroundCopyJob — добавляет файлы в задание, назначает приоритеты, определяет статус задания, выполняет запуск и приостановку загрузки;
  • IBackgroundCopyManager — формирует задания на загрузку файлов, информирует о текущих заданиях;
  • IEnumBackgroundCopyFiles — уведомляет о количестве файлов в задании;
  • IEnumBackgroundCopyJobs — информирует о списке заданий в очереди.

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

Background Intelligent Transfer Service

Вы все еще не знаете, как лучше организовать передачу файлов по сети на компьютеры под управлением Windows? Тогда вам сюда!

Background Intelligent Transfer Service (BITS) – служба ОС Windows, которая может передавать файлы в фоновом режиме. Она используется, в основном, для Windows Update.

Какой же интерес BITS представляет для разработчиков?

1. Возможность закачки файлов в фоновом режиме, незаметно для пользователя
2. Высокий уровень отказоустойчивости. Если сетевой кабель перерубят, или комп выпадет в «синий экран», то BITS докачает файлы, как только это станет возможно.
3. Intelligent сказано не зря. Если пользователь в данный момент ничего не качает и комп простаивает, BITS воспользуется освободившимися ресурсами. Эту фичу можно использовать, назначая различные приоритеты закачек.

Работать с BITS можно через специальный API

В своем проекте я использовал удобную, вполне рабочую «обертку» для .NET. Так же существует еще одна.

Ключевым объектом BITS является Job (не надо дословного перевода, назовем это «закачкой»).
Жизненный цикл «закачки» следующий:

1. Создание Job. Указываем название, описание, тип (Upload\Download) и приоритет

2. Добавление файлов. Job может содержать несколько файлов, если выбран тип Download.

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

4. Запуск закачки. Далее BITS все делает сам.

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

Я сознательно не привожу примеров кода, они есть здесь и здесь.

Для дополнительного ознакомления есть замечательная статья на английском.

Фоновая интеллектуальная служба передачи — Background Intelligent Transfer Service

Фоновая интеллектуальная служба передачи (BITS) является составной частью Microsoft Windows XP и более поздних итераций операционных систем, которые упрощают асинхронную передачу файлов между машинами с приоритетами и регулированием, используя свободную пропускную способность сети. Чаще всего он используется в последних версиях Центр обновления Windows, Центр обновления Майкрософт, Службы обновления Windows Server, и System Center Configuration Manager доставлять программные обновления клиентам, Microsoft антивирусный сканер Microsoft Security Essentials (более поздняя версия Защитник Windows ) для получения обновлений сигнатур, а также используется продуктами обмена мгновенными сообщениями Microsoft для передачи файлов. BITS раскрывается через Компонентная объектная модель (COM).

Содержание

Технологии

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

BITS версии 1.0 поддерживает только загрузки. Начиная с версии 1.5 BITS поддерживает как загрузку, так и загрузку. Для загрузки требуется Веб-сервер IIS с расширением сервера BITS на принимающей стороне.

Переводы

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

BITS приостанавливает любую текущую передачу, когда сетевое соединение потеряно или операционная система выключена. Он возобновляет передачу с того места, где она была прервана, когда (компьютер включается позже и) сетевое соединение восстанавливается. BITS поддерживает переводы через SMB, HTTP и HTTPS.

Пропускная способность

BITS пытается использовать только резервную полосу пропускания. Например, когда приложения используют 80% доступной полосы пропускания, BITS будет использовать только оставшиеся 20%. BITS постоянно контролирует сетевой трафик на предмет увеличения или уменьшения сетевого трафика и дроссели свои собственные передачи, чтобы гарантировать, что другие приложения переднего плана (например, веб-браузер ) получают необходимую им полосу пропускания. Обратите внимание, что BITS не обязательно измеряет фактическую пропускную способность. BITS версии 3.0 и выше будет использовать Интернет-шлюз счетчики, если таковые имеются, для более точного расчета доступной пропускной способности. В противном случае BITS будет использовать скорость, указанную NIC для расчета пропускной способности. Это может привести к ошибкам расчета пропускной способности, например, когда быстрый сетевой адаптер (10 Мбит / с) подключен к сети через медленное соединение (56 кбит / с). [1]

Вакансии

BITS использует очередь для управления передачей файлов. Сеанс BITS должен быть запущен из приложения путем создания Работа. Задание — это контейнер, в котором есть один или несколько файлов для передачи. Вновь созданное задание пусто. Файлы должны быть добавлены, указав как источник, так и место назначения URI. В то время как задание загрузки может иметь любое количество файлов, задание загрузки может иметь только один. Свойства могут быть установлены для отдельных файлов. Задания наследуют контекст безопасности приложения, которое их создает. BITS предоставляет API доступ к контрольным работам. Задание можно запускать, останавливать, приостанавливать, возобновлять и запрашивать состояние программным способом. Перед запуском задания необходимо установить приоритет, чтобы указать, когда задание обрабатывается относительно других заданий в очереди передачи. По умолчанию все задания имеют Нормальный приоритет. Задания могут быть дополнительно установлены на Высоко, Низкий, или же Передний план приоритет. Фоновая передача оптимизируется с помощью BITS, 1 который увеличивает и снижает (или ограничивает) скорость передачи в зависимости от доступной пропускной способности сети в режиме ожидания. Если сетевое приложение начинает потреблять больше полосы пропускания, BITS снижает скорость передачи, чтобы сохранить интерактивность пользователя, за исключением Передний план приоритетные загрузки.

Планирование

БИТЫ графики каждое задание получить только конечный отрезок времени, для которого разрешено переносить только это задание, прежде чем оно будет временно приостановлено, чтобы дать другому заданию возможность передачи. Задания с более высоким приоритетом получают больший отрезок времени. BITS использует циклическое планирование для обработки заданий с одинаковым приоритетом и предотвращения блокировки более мелких заданий большим заданием передачи.

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

BITS включает встроенный механизм для обработки ошибок и попыток восстановления. Ошибки могут быть либо фатальный или же преходящий; либо переводит задание в соответствующее состояние. А преходящий error — это временная ошибка, которая разрешается через некоторое время. В случае временной ошибки BITS ждет некоторое время, а затем повторяет попытку. За фатальный ошибок, BITS передает управление заданием создающему приложению со всей информацией об ошибке, которую оно может предоставить.

Инструменты интерфейса командной строки

Команда BITSAdmin

Microsoft предоставляет служебную программу администрирования BITS ( BITSAdmin ) командная строка полезность управлять вакансиями BITS. Утилита является частью Виндоус виста и позже. [2] [3] Он также доступен в составе Инструменты поддержки Windows XP Service Pack 2 [4] или же Инструменты поддержки Windows Server 2003 с пакетом обновления 1 (SP1). [5]

PowerShell BitsTransfer

В Windows 7, то BITSAdmin утилита устарела в пользу Windows PowerShell командлеты. [6] В BitsTransfer Модуль PowerShell предоставляет восемь командлетов для управления заданиями BITS. [7]

Следующий пример является эквивалентом приведенного выше примера BITSAdmin:

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *