Computer >> 컴퓨터 >  >> 시스템 >> Mac

Microsoft Windows BITS 이해:백그라운드 지능형 전송 서비스 설명

작성자:

  • 라훌 아와티
  • Stephen J. Bigelow, 수석 기술 편집자

게시일:2023년 8월 21일

Microsoft Windows BITS(Background Intelligent Transfer Service)는 HTTP(Hypertext Transfer Protocol) 웹 서버 및 SMB(서버 메시지 블록) 파일 서버에서 파일을 다운로드하고 업로드할 수 있는 Microsoft Windows 운영 체제(OS)의 서비스입니다.

BITS는 유휴 네트워크 대역폭을 사용하여 백그라운드 또는 포그라운드에서 파일을 전송하므로 사용자의 포그라운드 환경은 최소한의 영향을 받습니다. 서비스를 비활성화하면 BITS에 의존하는 모든 응용 프로그램이 프로그램 및 기타 중요한 정보를 자동으로 다운로드하지 못하게 됩니다.

BITS는 사용되지 않거나 유휴 네트워크 대역폭을 사용하여 HTTP 웹 서버 및 SMB 파일 서버에서 파일 전송(다운로드 또는 업로드)을 수행합니다. 예를 들어 클라이언트 시스템과 서버 간의 파일 전송은 비동기식이며 포그라운드 또는 백그라운드에서 발생합니다. 이는 응용 프로그램이 BITS에 파일 전송을 요청할 때 다른 작업을 자유롭게 수행할 수 있음을 의미합니다.

BITS에는 전송 생성 및 관리를 위한 PowerShell cmdlet과 다운로드 또는 업로드 작업 생성 및 진행 상황 모니터링을 위한 BITSAdmin 명령줄 유틸리티가 포함되어 있습니다. 이 서비스에는 애플리케이션의 파일 전송 요청 우선순위를 지정하는 대기열 관리 기능도 포함되어 있습니다.

네트워크에 중단이나 중단이 발생하는 경우 BITS는 네트워크나 컴퓨터가 서비스를 재개할 때 자동으로 다시 연결하고 파일 전송을 재개합니다. BITS는 재부팅 후에도 자동으로 전송을 일시 중지하고 재개할 수 있습니다. 또한 기기가 연결되어 있고 최신 대기 모드에 있을 때 파일을 전송하므로 전력 사용량을 염두에 두고 있습니다.

Background Intelligent Transfer Service 작업의 수명 주기

BITS 작업은 HTTP 웹 서버 및 SMB 파일 서버와 주고받을 하나 이상의 파일을 보관하는 컨테이너입니다. 작업에는 BITS가 파일을 전송하고 응용 프로그램과 상호 작용하는 방법을 지정하는 속성이 있습니다.

작업의 수명주기는 생성부터 시작됩니다. 이는 사용자가 작업의 우선순위, 업로드인지 다운로드인지, 알림을 받고 싶은 이벤트를 지정하는 경우입니다. 작업이 생성되면 파일을 추가할 수 있습니다. 업로드 작업에는 최대 1개의 파일을 추가할 수 있습니다. 작업 속성은 응용 프로그램에 따라 변경될 수도 있습니다. 작업에 하나 이상의 파일을 추가할 때 파일의 로컬(클라이언트) 및 원격(서버) 이름을 지정하는 것이 중요합니다.

작업이 생성되면 BITS는 자동으로 작업을 일시 중단합니다. 전송 대기열에서 작업을 활성화하려면, 즉 일시 중지 상태에서 대기 상태로 이동하려면 사용자가 작업을 재개해야 합니다. BITS 스케줄러가 파일 전송 차례를 결정할 때까지 대기 상태로 유지됩니다. 이 시점에서 작업은 연결 상태로 이동하고 BITS는 원격 서버에 연결됩니다. 그런 다음 전송 중 상태로 이동하고 다음 네 가지 조건 중 하나가 발생할 때까지 해당 상태를 유지합니다:

  1. 시간 분할이 종료됩니다.
  2. 이전이 완료되었습니다.
  3. 오류가 있습니다.
  4. 애플리케이션이 작업을 일시중단합니다.

BITS가 해당 파일을 모두 전송하면 작업이 전송된 상태로 전환됩니다. 전송된 파일은 응용 프로그램이 IBackgroundCopyJob::Complete 메서드를 호출하고 파일 소유권이 BITS에서 사용자에게 전송될 때만 클라이언트에서 사용할 수 있게 됩니다.

BITS가 사용자 경험을 보존하는 방법

사용 가능한 유휴 네트워크 대역폭에 따라 BITS는 파일이 전송되는 속도를 높이거나 낮춥니다. 응용 프로그램이 더 많은 대역폭을 소비하기 시작하면 BITS는 자동으로 파일 전송 속도를 줄여 사용자의 전반적인 환경을 유지하고 백그라운드 전송이 최적이 되도록 보장합니다.

파일 전송을 시작한 사용자가 네트워크에 로그온되어 있고 네트워크 연결이 유지되는 한 BITS는 응용 프로그램 자체가 종료되더라도 계속해서 파일을 전송합니다. 즉, BITS는 연결이 끊어지거나 사용자가 로그오프하는 경우 네트워크 연결을 강제로 실행하지 않습니다. 대신, 먼저 전송 작업을 일시 중지한 다음 끊어진 연결이 다시 설정되거나 로그오프한 사용자가 다시 로그인한 후 전송 작업을 재개합니다.

BITS는 항상 파일 전송 비용, 네트워크 사용량, 네트워크 정체를 고려합니다. 또한 앱별 전송 정책을 사용하여 비용이 많이 드는 네트워크 연결에서 파일 전송을 방지합니다. 이러한 고려 사항은 비용이 빠르게 상승할 수 있는 로밍 네트워크에서 특히 중요합니다. BITS는 또한 사용자의 전경 작업에 대한 영향이나 간섭을 최소화하여 궁극적으로 시스템 작업 경험을 보존하는 데 도움이 됩니다.

백그라운드 지능형 전송 서비스의 응용

BITS는 HTTP 웹 서버 및 SMB 파일 공유에서 파일을 다운로드하거나 업로드하려는 시스템 관리자에게 가장 유용합니다. 또한 C, C++ 및 .NET 프로그래머에게 유용한 구성 요소 개체 모델 인터페이스를 제공합니다. Microsoft는 유니버설 Windows 플랫폼 프로그래머에게 BITS API(응용 프로그래밍 인터페이스)를 권장하지 않습니다. 대신 Windows.Networking.BackgroundTransfer API를 사용해야 합니다.

Windows는 BITS를 사용하여 사용자의 로컬 시스템에 업데이트를 다운로드합니다. HTTP나 표현 상태 전송 웹 서버 또는 SMB 파일 서버에서 파일을 다운로드하거나 업로드해야 하는 응용 프로그램을 포함하여 다른 많은 응용 프로그램도 BITS를 사용합니다. 네트워크 연결이 끊기거나 컴퓨터가 다시 시작된 후 파일 전송을 자동으로 재개해야 하는 응용 프로그램도 BITS를 사용합니다. 마지막으로, 일부 버전의 Windows 및 Windows Server OS에 포함된 WAN 최적화 기술인 BranchCache와 함께 BITS를 사용하면 광역 네트워크 트래픽을 최적화할 수 있습니다.

Microsoft Windows BITS 이해:백그라운드 지능형 전송 서비스 설명 관리자는 Microsoft Windows BITS를 사용하여 WAN 트래픽을 관리할 수 있습니다.

BITS의 전송 작업 유형 및 작업 상태

BITS는 세 가지 유형의 전송 작업을 지원합니다.

  1. 작업을 다운로드합니다. 클라이언트에 파일을 다운로드합니다. 또한 모든 파일은 포그라운드 또는 백그라운드에서 비동기적으로 전송됩니다.
  2. 작업을 업로드합니다. 클라이언트에서 서버로 파일을 업로드합니다.
  3. 업로드-답글 작업. 먼저 서버에 파일을 업로드한 후 서버 애플리케이션으로부터 업로드가 완료되었다는 응답 파일을 받습니다.

BITS 작업은 다음 네 가지 상태 중 하나일 수 있습니다.

  1. 시작합니다. 기본적으로 시작 상태는 SUSPENDED입니다. 이 상태에서 사용자는 작업에 파일을 추가하고 작업 및 파일 속성을 설정할 수도 있습니다.
  2. 액션. QUEUED, CONNECTING 및 TRANSFERRING과 같은 작업의 현재 내부 활동을 표시하는 여러 작업 상태가 가능합니다. 또 다른 작업 상태는 작업이 파일 전송에 실패했음을 나타내는 TRANSIENT ERROR입니다.
  3. 이전되었습니다. 이 상태는 전송이 성공했고 더 이상 전송할 전송이 없을 때 발생합니다.
  4. 최종. 작업이 확인되었으며 다운로드가 완료된 모든 파일을 사용할 수 있습니다.

BITS 작업이 실행되면 다양한 상태 클래스의 상태 간에 전환됩니다. 그러나 최종 상태에 도달하면 해당 상태에서 벗어날 수 없습니다. 즉, 상태 변경 메서드를 호출할 수 없습니다. 또한 채용정보 목록에도 표시되지 않습니다. 오류가 발생하면 작업은 치명적인 오류 상태(BITS는 복구할 수 없음) 또는 일시적인 오류 상태(오류가 저절로 해결될 수 있으며 전송이 성공할 때까지 또는 응용 프로그램이 지정한 기간 내에 작업 시간이 초과될 때까지 BITS가 작업을 다시 시도함)로 전환됩니다. 일시적인 오류 상태에서 작업 시간이 초과되면 BITS는 해당 작업을 치명적인 오류 상태로 전환합니다.

Background Intelligent Transfer Service 우선순위 수준

BITS는 실행할 전송 작업과 시기를 지능적으로 선택할 수 있습니다. 이는 애플리케이션이 서로 다른 우선순위 수준(포그라운드에 1개, 배경에 3개)을 사용할 수 있기 때문입니다. 우선순위 수준은 전송 대기열의 다른 작업과 비교하여 전송 작업이 처리되는 시점을 결정하므로 다음과 같습니다.

  • 우선순위가 높은 작업이 우선순위가 낮은 작업보다 우선합니다.
  • 우선순위가 낮은 작업은 우선순위가 높은 작업이 모두 전송되거나 오류 상태가 될 때까지 전송 시간을 받지 않습니다.
  • 동일한 우선순위 수준의 작업은 전송 시간을 공유하므로 대규모 작업이 전송 대기열을 차단하여 지연을 일으킬 수 없습니다.

동일한 우선 순위 수준으로 작업을 예약하기 위해 BITS는 각 작업에 파일을 처리할 시간이 주어지는 라운드 로빈 예약을 사용합니다. 특정 작업이 할당된 시간 동안 완료되지 않으면 자동으로 대기열 상태로 돌아가고 대기열의 다음 작업이 FIFO(선입선출) 방식으로 활성화됩니다. 여기서 BITS는 최선을 다하지만 FIFO 처리를 보장하지 않는다는 점에 유의하는 것이 중요합니다.

Microsoft Windows BITS 이해:백그라운드 지능형 전송 서비스 설명 Windows BITS는 라운드 로빈 예약을 사용하여 동일한 우선 순위 수준에서 작업을 예약합니다.

BITS 1.5 이하 버전에서는 포그라운드 작업이 백그라운드 작업보다 우선순위가 높습니다. 실제로 포그라운드 작업의 우선순위가 가장 높으며 BITS는 한 번에 하나의 작업만 처리합니다. 최신 BITS 버전에서는 여러 포그라운드 전송이 동시에 발생할 수 있지만 동일한 작업의 여러 파일은 항상 순차적으로 또는 순차적으로 전송됩니다.

백그라운드 지능형 전송 서비스의 역사

Microsoft는 BITS를 여러 번 업데이트했습니다:

  • Microsoft는 2001년에 Windows XP에 BITS 버전 1.0을 도입했습니다.
  • 버전 1.2는 Windows 2000에 자동 업데이트 서비스를 추가하기 위해 2002년 중반에 출시되었습니다.
  • 버전 1.5는 2003년 말 Windows Server 2003과 함께 출시되었으며 명령줄 지원, 더 많은 업로드 기능 및 보안 개선 기능을 제공했습니다.
  • 2004년 중반에 여러 OS 배포를 위한 업데이트로 출시된 버전 2.0에는 더 많은 다운로드 기능, 대역폭 조절 및 SMB 지원이 추가되었습니다.
  • 2007년 중반에 출시된 BITS 2.5에는 IPv6 및 사용자 정의 HTTP 헤더에 대한 지원과 향상된 HTTP 보안이 추가되었습니다.
  • Windows Vista 및 Windows Server 2008에 포함된 BITS 3.0에는 피어 캐싱, 알림, 임시 파일 액세스, HTTP 리디렉션 처리, 추가 그룹 정책 제어 및 이벤트 로깅이 추가되었습니다.
  • 2009년 중반 Windows 7 및 Windows Server 2008 R2와 함께 출시된 BITS 4.0은 토큰 기반 보안, 독립형 파일 서버 기능, 개선된 대역폭 제한 및 수정된 피어 캐싱을 제공했습니다.
  • 2016년 중반 Windows 10에 포함된 BITS 5.0에는 백그라운드 복사 작업 개선, 이전 백그라운드 복사 작업 지원, API 및 PowerShell cmdlet을 통한 BITS 사용 기능이 추가되었습니다.
  • Windows 10 버전 1703의 일부인 BITS 버전 10.1(Windows 10 크리에이터스 업데이트라고도 함)은 개선된 다운로드 및 알림 기능입니다.
  • Windows 10 2018년 10월 업데이트의 일부인 BITS 버전 10.2에는 기본 프록시 순서가 추가되었으며 최신 대기 모드와 모바일 장치 관리자 정책 및 그룹 정책에 대한 지원도 추가되었습니다.
  • Windows 10 2019년 5월 업데이트의 일부인 BITS 버전 10.3에서는 HTTP 헤더를 쓰기 전용 및 서버 인증서 유효성 검사 콜백으로 표시하는 기능을 활성화했습니다.

PowerShell 파일 전송 프로토콜 스크립트를 사용하여 파일을 업로드 및 다운로드하는 방법을 알아보고 기업을 위한 8가지 보안 파일 전송 서비스에 대해 읽어보세요.

Microsoft Windows BITS(Background Intelligent Transfer Service)에 대해 계속 읽어보세요.

  • PowerShell이란 무엇이며 사용 방법:최고의 튜토리얼
  • Windows 11 성능 문제를 식별하고 해결하는 5단계
  • 대용량 파일 전송 도구:가장 좋은 것을 찾고 구입하는 방법
  • 데스크톱 관리자를 위한 Windows 11 마이그레이션 도구
  • 데스크톱 관리자가 알아야 할 Windows 11 업그레이드 문제

IT 운영 및 인프라 관리에 대해 자세히 알아보기

  • Microsoft Windows BITS 이해:백그라운드 지능형 전송 서비스 설명
    간단한 Struts 2 파일 업로드 예

    Microsoft Windows BITS 이해:백그라운드 지능형 전송 서비스 설명

    작성자:카메론 맥켄지

  • Microsoft Windows BITS 이해:백그라운드 지능형 전송 서비스 설명
    JCL(작업 제어 언어)이란 무엇인가요?

    작성자:TechTarget 기고자

  • Microsoft Windows BITS 이해:백그라운드 지능형 전송 서비스 설명
    TFTP를 사용하여 네트워크를 통해 파일을 전송하는 방법

    Microsoft Windows BITS 이해:백그라운드 지능형 전송 서비스 설명

    작성자:데이먼 가른

  • Microsoft Windows BITS 이해:백그라운드 지능형 전송 서비스 설명
    cURL 및 Wget을 사용하여 CLI에서 네트워크 파일 다운로드

    Microsoft Windows BITS 이해:백그라운드 지능형 전송 서비스 설명

    작성자:데이먼 가른