맨위로가기

백그라운드 인텔리전트 전송 서비스

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

백그라운드 인텔리전트 전송 서비스(BITS)는 유휴 대역폭을 활용하여 데이터를 전송하는 기술이다. 주로 백그라운드에서 작동하며, 다른 응용 프로그램이 사용하지 않는 대역폭을 사용하여 파일 전송을 수행한다. BITS는 전송 중단 시 재개 기능을 지원하며, SMB, HTTP, HTTPS를 통한 전송을 지원한다. BITS는 대역폭 사용을 조절하고, 작업 큐를 사용하여 파일 전송을 관리하며, API를 통해 작업을 제어할 수 있다. BITS는 스케줄링을 통해 각 작업에 시간 조각을 할당하고, 오류 처리 및 복구 메커니즘을 내장하고 있다. BITS는 2001년 1.0 버전 출시 이후 지속적으로 업데이트되었으며, 윈도우 운영 체제에서 다양한 버전으로 제공된다. 또한, BITSAdmin 유틸리티 및 PowerShell cmdlet을 통해 관리할 수 있으며, 여러 응용 프로그램에서 소프트웨어 업데이트 및 파일 전송에 활용된다.

더 읽어볼만한 페이지

  • HTTP 클라이언트 - 라인 모드 브라우저
    라인 모드 브라우저는 초기 웹 브라우저로서 텍스트 기반 환경에서 작동하며, 크로스 플랫폼을 지향하여 다양한 운영체제에서 사용 가능하도록 개발되었으나, 모자이크 브라우저의 등장으로 쇠퇴하여 현재는 libwww의 테스트 응용 프로그램으로 사용된다.
  • HTTP 클라이언트 - 링크스 (웹 브라우저)
    링크스는 캔자스 대학교에서 개발된 텍스트 기반 웹 브라우저로, 낮은 시스템 자원 요구량과 높은 설정 가능성을 특징으로 하며, 다양한 용도로 활용된다.
  • 네트워크 파일 전송 프로토콜 - SSH 파일 전송 프로토콜
    SSH 파일 전송 프로토콜(SFTP)은 SSH를 통해 안전한 파일 전송 및 관리를 제공하며, SCP보다 플랫폼 독립적이고 정부 및 공공기관에서 사용이 권장되는 네트워크 프로토콜이다.
  • 네트워크 파일 전송 프로토콜 - FTPS
    FTPS는 FTP에 TLS/SSL 암호화 프로토콜을 적용하여 보안을 강화한 프로토콜로, 암묵적/명시적 방식이 있으며 데이터 및 제어 채널을 암호화하여 보안 위협을 방지한다.
  • 윈도우 명령어 - 파워셸
    파워셸은 마이크로소프트에서 개발한 작업 자동화 솔루션으로, 명령줄 셸과 스크립트 언어의 기능을 결합하여 윈도우 시스템 관리를 위해 설계되었으며, .NET 프레임워크 기반의 객체 지향적 특징을 갖고 다양한 플랫폼에서 자동화 스크립트 작성 및 실행, 시스템 구성 관리 등에 활용된다.
  • 윈도우 명령어 - 클립보드
    클립보드는 텍스트 조각을 임시 저장하는 버퍼로, 잘라내기, 복사, 붙여넣기 기능을 구현하며, 다양한 데이터 형식을 지원하고 애플리케이션 간 데이터 교환에 사용되며 보안 취약점의 대상이 될 수 있다.
백그라운드 인텔리전트 전송 서비스 - [IT 관련 정보]에 관한 문서
개요
이름Background Intelligent Transfer Service (BITS)
종류다운로드 관리자
개발사마이크로소프트
최초 출시일2001년 10월
최신 버전10.3
최신 버전 출시일2019년 12월 7일
운영 체제마이크로소프트 윈도우
라이선스사유 상용 소프트웨어
웹사이트Background Intelligent Transfer Service 포털
기술 정보
포함 운영체제Windows XP 이후
사용 가능 운영체제Windows 2000 Service Pack 3
관련 구성 요소Background Intelligent Transfer Service
서비스 이름BITS
서비스 설명Background Intelligent Transfer Service

2. 기술

BITS는 사용 가능한 유휴 대역폭을 사용하여 데이터를 전송한다. 다른 응용 프로그램에서 네트워크를 사용하지 않을 때만 데이터를 전송하며, 중단 시 전송 재개 기능을 지원한다.[1] BITS 버전 1.0은 다운로드만 지원했지만, 버전 1.5부터는 다운로드와 업로드를 모두 지원한다. 업로드를 위해서는 수신 측에 BITS 서버 확장 기능이 있는 IIS 웹 서버가 필요하다.[1]

2. 1. 전송

BITS는 요청 애플리케이션을 대신하여 파일을 비동기적으로 전송한다. 즉, 애플리케이션이 전송을 위해 BITS 서비스에 요청하면 다른 작업을 수행하거나 종료할 수도 있다. 네트워크 연결이 있고 작업 소유자가 로그인되어 있는 한 전송은 백그라운드에서 계속된다. BITS 작업은 작업 소유자가 로그인하지 않은 경우 전송되지 않는다.

BITS는 네트워크 연결이 끊어지거나 운영 체제가 종료되면 진행 중인 모든 전송을 일시 중단한다. (나중에 컴퓨터를 켜고) 네트워크 연결이 복원되면 중단된 위치부터 전송을 다시 시작한다. BITS는 SMB, HTTP 및 HTTPS를 통한 전송을 지원한다. BITS는 비동기적으로 파일을 전송하며, HTTP 또는 HTTPS 상의 데이터 전송을 지원한다.[1]

2. 2. 대역폭 조절

BITS는 사용 가능한 대역폭 중 여유 대역폭만을 사용하려고 시도한다. 예를 들어, 응용 프로그램이 사용 가능한 대역폭의 80%를 사용하는 경우, BITS는 나머지 20%만 사용한다. BITS는 네트워크 트래픽의 증가 또는 감소를 지속적으로 감시하고 대역폭을 제한하여 다른 전경 응용 프로그램(예: 웹 브라우저)이 필요한 대역폭을 확보하도록 한다.[1]

BITS는 반드시 실제 대역폭을 측정하는 것은 아니다. BITS 버전 3.0 이상에서는 사용 가능한 경우 인터넷 게이트웨이 장치 카운터를 사용하여 사용 가능한 대역폭을 보다 정확하게 계산한다. 그렇지 않으면 BITS는 NIC에서 보고하는 속도를 사용하여 대역폭을 계산한다. 이는 대역폭 계산 오류로 이어질 수 있다. 예를 들어, 빠른 네트워크 어댑터(10Mbit/s)가 느린 링크(56kbit/s)를 통해 네트워크에 연결된 경우 오류가 발생할 수 있다.[1]

2. 3. 작업 (Job)

BITS는 파일 전송을 관리하기 위해 "작업(Job)" 큐를 사용한다. BITS 세션은 애플리케이션에서 작업을 생성하여 시작한다. 작업은 하나 이상의 파일을 담는 컨테이너이다. 새로 생성된 작업은 비어 있으며, 소스 및 대상 URI를 모두 지정하여 파일을 추가해야 한다. 다운로드 작업은 여러 파일을 가질 수 있지만, 업로드 작업은 하나의 파일만 가질 수 있다. 개별 파일에 대한 속성을 설정할 수 있다. 작업은 작업을 생성하는 애플리케이션의 보안 컨텍스트를 상속받는다.[1]

BITS는 작업을 제어할 수 있는 API를 제공한다. 작업을 프로그래밍 방식으로 시작, 중지, 일시 중지, 재개 및 상태를 쿼리할 수 있다. 작업을 시작하기 전에 전송 큐의 다른 작업에 비해 작업을 처리할 시기를 지정하기 위해 우선 순위를 설정해야 한다. 기본적으로 모든 작업은 ''일반'' 우선 순위이다. 작업은 선택적으로 ''높음'', ''낮음'' 또는 ''전경'' 우선 순위로 설정할 수 있다. 백그라운드 전송은 BITS에 의해 최적화되며, 이는 사용 가능한 유휴 네트워크 대역폭의 양에 따라 전송 속도를 증가 및 감소(또는 조절)시킨다. 네트워크 애플리케이션이 더 많은 대역폭을 사용하기 시작하면, BITS는 '전경' 우선 순위 다운로드를 제외하고 사용자의 대화형 환경을 보존하기 위해 전송 속도를 줄인다.[1]

2. 4. 스케줄링

BITS는 각 작업을 스케줄링하여 한정된 시간 조각만을 할당받도록 하며, 해당 시간 조각 동안에만 해당 작업이 전송을 수행할 수 있도록 허용하고, 다른 작업에게 전송 기회를 주기 위해 일시적으로 중단한다. 우선순위가 높은 작업은 더 많은 시간 조각을 할당받는다. BITS는 동일한 우선순위의 작업을 처리하고, 대용량 전송 작업이 소규모 작업을 차단하는 것을 방지하기 위해 라운드 로빈 스케줄링을 사용한다.

작업이 새로 생성되면 자동으로 ''일시 중지''(또는 중단) 상태가 된다. 활성화하려면 명시적으로 ''재개''해야 한다. ''재개''하면 작업이 ''대기'' 상태로 이동한다. 데이터를 전송할 차례가 되면, 먼저 원격 서버에 연결한 다음 전송을 시작한다. 작업의 시간 조각이 만료되면, 전송이 일시적으로 중단되고 작업은 다시 ''대기'' 상태로 이동한다. 작업이 다른 시간 조각을 할당받으면, 전송하기 전에 다시 연결해야 한다. 작업이 완료되면 BITS는 작업의 소유권을 작업을 생성한 애플리케이션으로 이전한다.

BITS는 오류 처리 및 복구 시도를 위한 내장 메커니즘을 포함한다. 오류는 ''치명적'' 또는 ''일시적''일 수 있으며, 각 오류는 작업을 해당 상태로 이동시킨다. ''일시적'' 오류는 시간이 지나면 스스로 해결되는 일시적인 오류이다. 일시적 오류의 경우, BITS는 일정 시간 동안 대기한 후 재시도한다. ''치명적'' 오류의 경우, BITS는 오류에 대한 가능한 많은 정보를 제공하면서 작업 제어를 생성 애플리케이션으로 전송한다.

3. 버전

BITS는 2001년 1.0 버전이 처음 출시된 이후 지속적으로 기능이 개선되어 왔다.[17]

BITS의 버전
버전제공일포함된 OS사용 가능한 OS
1.02001년 10월윈도우 XP
1.22002년 7월윈도우 XP SP1
윈도우 2000 SP3
1.52003년 4월윈도우 서버 2003윈도우 2000 SP3
윈도우 XP
2.02004년 8월윈도우 XP SP2
윈도우 서버 2003 SP1
윈도우 2000 SP3, SP4
윈도우 XP, SP1
윈도우 서버 2003
2.52006년 11월윈도우 XP SP3
윈도우 비스타
윈도우 서버 2008
윈도우 XP SP2
윈도우 서버 2003 SP1, SP2
3.02006년 11월윈도우 비스타
윈도우 서버 2008
4.02009년 7월윈도우 7
윈도우 서버 2008 R2
윈도우 비스타 SP1, SP2
윈도우 서버 2008, SP2
5.02009년 7월윈도우 8
윈도우 서버 2012
윈도우 10
10.12017년 4월윈도우 10 크리에이터스 업데이트
10.22018년 11월윈도우 10 2018년 10월 업데이트
10.32019년 5월윈도우 10 2019년 5월 업데이트


4. 도구

`BITSAdmin`은 BITS 작업 관리를 위한 명령줄 도구이다. 윈도우 비스타 이후 버전에는 기본 포함되어 있으며, 윈도우 XP에서는 ''윈도우 XP 서비스 팩 2 지원 도구''[4] 또는 ''윈도우 서버 2003 서비스 팩 1 지원 도구''[5]를 설치하여 사용할 수 있다.

사용 예시는 다음과 같다.



C:\>bitsadmin /transfer myDownloadJob /download /priority normal https://example.com/file.zip C:\file.zip


4. 1. PowerShell BitsTransfer

윈도우 7부터는 `BITSAdmin` 유틸리티 대신 Windows PowerShell cmdlet을 사용하여 BITS 작업을 관리한다.[6] `BitsTransfer` PowerShell 모듈은 BITS 작업 관리에 필요한 cmdlet을 제공한다.[7]

BITSAdmin 예제와 동일한 PowerShell 예제는 다음과 같다.



PS C:\> Start-BitsTransfer -Source "https://example.com/file.zip" -Destination "C:\file.zip" -DisplayName "myDownloadJob"


5. BITS를 사용하는 응용 프로그램

BITS는 다양한 응용 프로그램에서 파일을 전송하는 데 사용된다.

응용 프로그램설명
앱센스(AppSense)클라이언트에 패키지를 설치한다.
BITS 다운로드 관리자BITS 작업을 생성하는 Windows용 다운로드 관리자이다.[8]
BITSync서버 메시지 블록 네트워크 공유에서 파일 동기화를 수행하는 오픈 소스 소프트웨어 유틸리티이다.[9]
문명 V모드 패키지를 다운로드한다.
Windows용 엔드리스 OS 설치 프로그램OS 이미지를 다운로드한다.[10]
이브 온라인2009년 3월 10일 Apocrypha 이후 모든 패치를 다운로드하며, 현재 클라이언트 복구 도구에서도 사용된다.
구글 서비스크롬, Gears, Pack, Flutter 업데이트, YouTube 업로더 등에서 사용했다.
파이어폭스(Firefox)버전 68부터 업데이트에 사용한다.[11]
KBOX 시스템 관리 어플라이언스Windows 시스템에 파일을 제공할 수 있는 시스템 관리 어플라이언스이다.
RSS 밴디트(RSS Bandit)웹 피드에서 첨부 파일을 다운로드한다.
산소 미디어 플랫폼미디어 콘텐츠 및 소프트웨어 업데이트를 배포한다.[12]
SharpBITSBITS 작업을 처리하는 Windows용 오픈 소스 소프트웨어 다운로드 관리자이다.[13]
WinBITSBITS 작업을 생성하여 파일을 다운로드하는 Windows용 오픈 소스 소프트웨어 다운로더이다.[14]
노벨 젠웍스 데스크톱 관리워크스테이션에 응용 프로그램 파일을 제공할 수 있는 시스템 관리 소프트웨어이다.[15]
Specops Deploy/App(사용 가능한 경우) 백그라운드에서 클라이언트에 패키지를 제공하는 시스템 관리 소프트웨어이다.[16]


5. 1. 기타 응용 프로그램


  • 앱센스(AppSense) – 클라이언트에 패키지를 설치하기 위해 BITS를 사용한다.
  • BITS 다운로드 관리자 – BITS 작업을 생성하는 Windows용 다운로드 관리자이다.[8]
  • BITSync – BITS를 사용하여 서버 메시지 블록 네트워크 공유에서 파일 동기화를 수행하는 오픈 소스 소프트웨어 유틸리티이다.[9]
  • ''문명 V'' – 모드 패키지를 다운로드하기 위해 BITS를 사용한다.
  • Windows용 엔드리스 OS 설치 프로그램 – OS 이미지를 다운로드하기 위해 BITS를 사용한다.[10]
  • ''이브 온라인'' – 2009년 3월 10일 Apocrypha 이후 모든 패치를 다운로드하기 위해 BITS를 사용한다. 현재 클라이언트 복구 도구에서도 사용된다.
  • 구글 서비스 중 일부는 크롬, Gears, Pack, Flutter 업데이트, YouTube 업로더를 포함하여 BITS를 사용했다.
  • 파이어폭스(Firefox) (버전 68부터) 업데이트용.[11]
  • KBOX 시스템 관리 어플라이언스 – Windows 시스템에 파일을 제공하기 위해 BITS를 사용할 수 있는 시스템 관리 어플라이언스이다.
  • RSS 밴디트(RSS Bandit) – 웹 피드에서 첨부 파일을 다운로드하기 위해 BITS를 사용한다.
  • 산소 미디어 플랫폼 – 미디어 콘텐츠 및 소프트웨어 업데이트를 배포하기 위해 BITS를 사용한다.[12]
  • SharpBITS – BITS 작업을 처리하는 Windows용 오픈 소스 소프트웨어 다운로드 관리자이다.[13]
  • WinBITS – BITS 작업을 생성하여 파일을 다운로드하는 Windows용 오픈 소스 소프트웨어 다운로더이다.[14]
  • 노벨 젠웍스 데스크톱 관리 – BITS를 사용하여 워크스테이션에 응용 프로그램 파일을 제공할 수 있는 시스템 관리 소프트웨어이다.[15]
  • Specops Deploy/App – (사용 가능한 경우) 백그라운드에서 클라이언트에 패키지를 제공하기 위해 BITS를 사용하는 시스템 관리 소프트웨어이다.[16]

참조

[1] 웹사이트 MSDN BITS Network Bandwidth https://msdn.microso[...] 2015-05-01
[2] 웹사이트 BITSAdmin tool https://docs.microso[...] Microsoft 2019-03-05
[3] 웹사이트 bitsadmin https://docs.microso[...] Microsoft 2017-10-16
[4] 웹사이트 Windows XP Service Pack 2 Support Tools https://www.microsof[...] Microsoft 2004-08-10
[5] 웹사이트 Windows Server 2003 Service Pack 1 32-bit Support Tools https://www.microsof[...] Microsoft 2005-03-30
[6] 웹사이트 Manage BITS (Background Intelligent Transfer Service) with Windows PowerShell https://docs.microso[...] Microsoft 2015-09-25
[7] 웹사이트 BitsTransfer https://docs.microso[...] Microsoft 2020-04-28
[8] 웹사이트 BITS Download Manager http://www.request-r[...] 2010-01-07
[9] 웹사이트 BITSync https://web.archive.[...] 2008-12-31
[10] 문서 Endless Installer for Windows DownloadManager class https://github.com/e[...]
[11] 웹사이트 Firefox 68.0, See All New Features, Updates and Fixes https://www.mozilla.[...] Mozilla 2019-07-09
[12] 문서 Oxygen media platform https://web.archive.[...]
[13] 웹사이트 SharpBITS http://sharpbits.cod[...] 2021-03-31
[14] 웹사이트 WinBITS http://sourceforge.n[...] 2007-11-19
[15] 웹사이트 Zenworks 7 http://www.novell.co[...] 2021-03-31
[16] 웹사이트 Specops Deploy/App http://www.specopsso[...] 2021-03-31
[17] 문서 新機能 (BITS) https://docs.microso[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com