後臺智慧傳輸服務（Background Intelligent Transfer Service，縮寫 BITS）是微軟在 Windows 2000 及後續版本中包含的一個元件。它有助於利用空閒網路頻寬在計算機之間非同步、有優先順序及自我限制地傳輸檔案，並主要在較新版本的 Windows Update、Microsoft Update、Windows Server 更新服務和用於交付修補程式到客戶端。反病毒軟體 Microsoft Security Essentials（及之後的 Windows Defender）也使用它獲取簽名更新，並且微軟的即時通訊產品會使用它來傳輸檔案。BITS 透過元件物件模型（COM）介面供外部呼叫。 技術 BITS 只採用空閒的頻寬傳輸資料。通常來說，BITS 在後臺傳輸資料，即 BITS 僅在其他應用程式沒有使用頻寬時傳輸資料。BITS 支援在中斷後繼續傳輸。 BITS 的 10 版只支援下載。自 15 版開始，BITS 支援下載與上傳。上傳需要接收方使用網際網路資訊服務及 BITS 伺服器擴充套件。 傳輸 BITS 會代表請求的應用程式非同步完成傳輸，即應用程式請求 BITS 服務進行傳輸後，可以自由地去執行其他任務，乃至終止。只要網路已連線並且任務所有者已登入，則傳輸就會在後臺進行。當任務所有者未登入時，BITS 任務不會進行。 BITS 將在網路連線斷開或作業系統關閉時暫停所有正在進行的傳輸。在計算機重新開啟並恢復網路連線時，它將從之前的位置繼續重新開始傳輸。BITS 支援透過 SMB、HTTP 和 HTTPS 進行傳輸。 頻寬 BITS 只會嘗試利用空閒頻寬。例如，當應用程式使用 80 的可用頻寬時，BITS 將只使用剩下的 20。 BITS 會不斷監控網路流量以增加或減少流量，並自己的傳輸以確保其他前臺應用程式（如網頁瀏覽器）獲得所需的頻寬。注意，BITS 不需要測量實際頻寬。BITS 30 及更高版本將嘗試使用網際網路閘道器裝置計數器，從而更準確地計算可用頻寬。如果其不可用，BITS 將使用網絡卡（NIC）報告的速度來計算頻寬。這可能導致頻寬的計算錯誤，例如當快速的網路介面卡（如 10 Mbits）透過慢速鏈路（56 kbits）接入網路。 任務 BITS 採用佇列管理檔案傳輸。一個 BITS 會話是由一個應用程式建立一個任務（Job）而開始。一個任務就是一份容器，它有一個或多個要傳輸的檔案。新建立的任務是空的，需要指定來源與目標 URI 來新增檔案。下載任務可以包含任意多的檔案，而上傳任務中只能有一個檔案。可以為各個檔案設定屬性。任務將繼承建立它的應用程式的安全上下文。BITS 提供 API 介面來控制任務。透過程式設計可以來啟動、停止、暫停、繼續任務以及查詢狀態。在啟動一個任務前，必須先設定它相對於傳輸佇列中其他任務的優先順序。預設情況下，所有任務均為正常優先順序，而任務可以被設定為高、低或前臺優先順序。BITS 將最佳化後臺傳輸被，根據可用的空閒網路頻寬來增加或減少（抑制）傳輸速率。如果一個網路應用程式開始耗用更多頻寬，BITS 將限制其傳輸速率以保證使用者的互動式體驗，但前臺優先順序的任務除外。 排程 BITS 的排程採用分配給每個任務有限時間片的機制，一個任務被暫停時，另一個任務才有機會獲得傳輸時機。較高優先順序的任務將獲得較多的時間片。BITS 採用迴圈制處理相同優先順序的任務，並防止大的傳輸任務阻塞小的傳輸任務。 在任務新建時，它被自動掛起（暫停），等待明確的繼續（啟用）。繼續會將任務轉移到排隊狀態。在它開始傳輸資料時，它首先需要連線到遠端伺服器，然後開始傳輸。在任務的時間片到期時，傳輸將被暫停，任務返回到排隊狀態。當作業獲得另一個時間片時，它必須重新連線才能傳輸。當任務完成時，BITS 將任務的所有權轉移到建立任務的應用程式。 BITS 內建有一個錯誤處理和嘗試恢復的機制。錯誤可以是致命（fatal）或暫時（transient）的，這分別移動錯誤到不同的狀態；暫時錯誤可以在一段時間後自我解決。對於暫時錯誤，BITS 會等待一段時間並重試。對於致命錯誤，BITS 會將任務的控制轉移到建立它的應用程式，並儘量提供錯誤的相關資訊。 工具 BITSAdmin BITS 管理工具，管理 BITS 任務的命令列工具。 它存在於 Windows XP Service Pack 2 Support Tools 或 Windows Server 2003 Service Pack 1 Support Tools 及兩者的更新版本中，以及是 Windows Vista 中的標準命令列工具。在 Windows 7，BITSAdminexe 已不推薦使用，建議改用 Windows PowerShell cmdlets。 版本歷史 版本 10（2001 年 10 月） 初始版本。包含在 Windows XP RTM 中。 版本 12（2002 年 7 月） 包含在 Windows XP Service Pack 1 和 Windows 2000 Service Pack 3 中。Windows 2000 的 BITS 將自動更新功能帶入了作業系統的核心。 沒有其他外部變更。 版本 15（2003 年 9 月） 包含在 Windows Server 2003，並提供適用於 Windows 2000 和 Windows XP 的單獨下載。 新增上傳和上傳回復能力，事件的命令列執行，顯式憑證，以及對 Windows 2000 的支援。 版本 20（2004 年 8 月） 包含在 Windows XP Service Pack 2 和 Windows Server 2003 Service Pack 1 中，並可以為 Windows 2000 Service Packs 3、4 以及 Windows XP 和 Server 2003 的早期版本單獨下載。 新增支援：併發執行前臺下載，為遠端名稱使用 Server Message Block 路徑，下載檔案某部分，更改遠端名稱的字首或完整名稱，以及限制客戶端的頻寬使用。 BITS 20 是 Windows Server Update Services 必備設施。 版本 25（2007 年 6 月） 新增對在安全 HTTP 傳輸和自定義 HTTP 標頭時基於證書的客戶端身份驗證的支援。 支援 IPv6。 可以為 Windows XP 和 Windows Server 2003 下載，幷包含在 Windows XP Service Pack 3 中。 版本 30（2006 年 11 月） 新增支援：加入的計算機可以對等快取（允許同一子網中的計算機從對等端下載內容，以及將內容提供給對等端）；在檔案已下載時得到通知；在下載進行時訪問臨時檔案；控制 HTTP 重定向。BITS 30 還使用網際網路閘道器裝置計數器來更準確地計算可用頻寬。 新增組策略來控制對等快取、下載時間和任務數量與檔案下載。BITS 30 還會將診斷和故障排除事件寫入系統日誌，可以使用事件檢視器檢視。 BITS 30 隨 Windows Vista 引入，幷包含在後續 Windows 版本中。BITS 25 功能也包含在 Windows Vista 和 Windows Server 2008 中。 版本 40（2009 年 7 月） 隨 Windows 7 和 Windows Server 2008 R2 引入，並可用於 Windows Vista SP2 和 Windows Server 2008 RTM 新增一個新的資源訪問模型，允許應用程式使用 BITS 分配兩個不同許可權的進行 BITS 傳輸任務。 對於 Windows Server，BITS 40 添加了一個基於 HTTP 的檔案伺服器，稱為 BITS 緊湊型伺服器，適用於同一個域內的計算機。 更細粒度的頻寬限制組策略。 在 BITS 40 中，對等快取模型已不推薦使用，並被 BranchCache 子網級對等快取取代。 版本 50（2012 年 8 月） 隨 Windows 8 和 Windows Server 2012 引入。 新增新的應用程式程式設計介面（API） 可以允許或禁止 BITS 任務透過按流量計費 蜂窩鏈路傳輸。 BITS 50 也包含在 Windows 81 和 Windows 10 中。 Windows 10 中的 BITS 版本支援在 PowerShell 遠端會話中的傳輸任務。 使用 BITS 的非微軟應用程式 ：使用 BITS 在客戶端安裝軟體包。 BITS Download Manager ：一個面向 Windows 的，它建立 BITS 任務。 BITSync：開源工具，在 SMB 網路共享上執行使用 BITS 執行檔案同步。 Civilization V：使用 BITS 下載遊戲模組（mod）包。 EVE Online：它使用 BITS 下載所有補丁。也在客戶端修復工具中使用。 部分 Google 服務（包括 Chrome、Gears Pack 和 YouTube Uploader）使用 BITS。 ：一個系統管理應用程式，可以使用 BITS 來交付檔案到 Windows 系統。 ：使用 BITS 下載網路供稿中的附件。 Oxygen media platform：使用 BITS 分發媒體內容和軟體更新。 SharpBITS ：一個適用於 Windows 的開源，它處理 BITS 任務。 WinBITS ：一個適用於 Windows 的開源下載器，它建立 BITS 任務來下載檔案。 Novell ZENworks Desktop Management：一個系統管理軟體，可以使用 BITS 來交付應用程式檔案到工作站。 Specops DeployApp ：一個系統管理軟體，在可用時使用 BITS 在後臺交付包到客戶端。 參見 Windows 元件列表 參考資料 外部連結 Background Intelligent Transfer Service in Windows Server 2003 Background Intelligent Transfer Service in Windows Server 2008 BITS version history Category 分散式資料儲存 CategoryHTTP 客戶端 Category 網路檔案傳輸協議 CategoryWindows 管理 CategoryWindows 命令