後台智能傳輸服務

後台智能傳輸服務Background Intelligent Transfer Service,縮寫BITS)是微軟Windows 2000及後續版本中包含的一個組件。它有助於利用空閒網絡帶寬在計算機之間異步、有優先級及自我限制地傳輸文件,並主要在較新版本的Windows UpdateMicrosoft UpdateWindows Server更新服務系統管理服務器英語Systems Management Server用於交付修補程式到客戶端。反病毒軟件Microsoft Security Essentials(及之後的Windows Defender)也使用它獲取簽名更新,並且微軟的即時通訊產品會使用它來傳輸文件。BITS通過組件對象模型(COM)接口供外部調用。

技術

BITS只採用空閒的帶寬傳輸數據。通常來說,BITS在後台傳輸數據,即BITS僅在其他應用程序沒有使用帶寬時傳輸數據。BITS支持在中斷後繼續傳輸。[來源請求]

BITS的1.0版只支持下載。自1.5版開始,BITS支持下載與上傳。上傳需要接收方使用網際網路資訊服務及BITS服務器擴展。

傳輸

BITS會代表請求的應用程序異步完成傳輸,即應用程序請求BITS服務進行傳輸後,可以自由地去執行其他任務,乃至終止。只要網絡已連接並且任務所有者已登錄,則傳輸就會在後台進行。當任務所有者未登錄時,BITS任務不會進行。

BITS將在網絡連接斷開或操作系統關閉時暫停所有正在進行的傳輸。在計算機重新開啟並恢復網絡連接時,它將從之前的位置繼續重新開始傳輸。BITS支持通過SMBHTTPHTTPS進行傳輸。

帶寬

BITS只會嘗試利用空閒帶寬。例如,當應用程序使用80%的可用帶寬時,BITS將只使用剩下的20%。 BITS會不斷監控網絡流量以增加或減少流量,並遏制英語Bandwidth throttling自己的傳輸以確保其他前台應用程序(如網頁瀏覽器)獲得所需的帶寬。注意,BITS不需要測量實際帶寬。BITS 3.0及更高版本將嘗試使用互聯網網關設備計數器,從而更準確地計算可用帶寬。如果其不可用,BITS將使用網卡(NIC)報告的速度來計算帶寬。這可能導致帶寬的計算錯誤,例如當快速的網絡適配器(如10 Mbit/s)通過慢速鏈路(56 kbit/s)接入網絡。[1]

任務

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,BITSAdmin.exe已不推薦使用,建議改用Windows PowerShell cmdlets。[2]

版本歷史

  • 版本1.0(2001年10月)
  • 版本1.2(2002年7月)
    • 包含在Windows XP Service Pack 1和Windows 2000 Service Pack 3中。Windows 2000的BITS將自動更新功能帶入了操作系統的核心。
    • 沒有其他外部變更。
  • 版本1.5(2003年9月)
    • 包含在Windows Server 2003,並提供適用於Windows 2000和Windows XP的單獨下載。
    • 添加上傳和上傳回復能力,事件的命令行執行,顯式憑證,以及對Windows 2000的支持。
  • 版本2.0(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 2.0是Windows Server Update Services必備設施。
  • 版本2.5(2007年6月)
    • 添加對在安全HTTP傳輸和自定義HTTP標頭時基於證書的客戶端身份驗證的支持。
    • 支持IPv6
    • 可以為Windows XP和Windows Server 2003下載[3],並包含在Windows XP Service Pack 3中。[4][5]
  • 版本3.0(2006年11月)
    • 添加支持:加入英語Windows Server domain的計算機可以對等緩存[6](允許同一子網中的計算機從對等端下載內容,以及將內容提供給對等端);在文件已下載時得到通知;在下載進行時訪問臨時文件;控制HTTP重定向。BITS 3.0還使用互聯網網關設備計數器來更準確地計算可用帶寬。
    • 添加組策略來控制對等緩存、下載時間和任務數量與文件下載。BITS 3.0還會將診斷和故障排除事件寫入系統日誌,可以使用事件檢視器查看。
    • BITS 3.0隨Windows Vista引入,並包含在後續Windows版本中。BITS 2.5功能也包含在Windows Vista和Windows Server 2008中。
  • 版本4.0(2009年7月)
    • Windows 7Windows Server 2008 R2引入,並可用於Windows Vista SP2和Windows Server 2008 RTM[7]
    • 添加一個新的資源訪問模型,允許應用程序使用BITS分配兩個不同權限訪問令牌英語Access token進行BITS傳輸任務。
    • 對於Windows Server,BITS 4.0添加了一個基於HTTP的文件服務器,稱為BITS緊湊型服務器,適用於同一個域內的計算機。[8]
    • 更細粒度的帶寬限制組策略。
    • 在BITS 4.0中,對等緩存模型已不推薦使用,並被BranchCache子網級對等緩存取代。
  • 版本5.0(2012年8月)
    • Windows 8Windows Server 2012引入。
    • 添加新的應用程序編程接口(API) [9]
    • 可以允許或禁止BITS任務通過按流量計費/蜂窩鏈路傳輸。 [10]
    • BITS 5.0也包含在Windows 8.1Windows 10中。 Windows 10中的BITS版本支持在PowerShell遠程會話中的傳輸任務。

使用BITS的非微軟應用程序

參見

參考資料

  1. ^ MSDN BITS Network Bandwidth. [2017-04-19]. (原始內容存檔於2017-04-19). 
  2. ^ Manage BITS (Background Intelligent Transfer Service) with Windows PowerShell. TechNet Magazine. Microsoft. [2015-09-25]. (原始內容存檔於2016-03-04). 
  3. ^ An update package for Background Intelligent Transfer Service (BITS) is now available for Windows Server 2003 and for Windows XP. Microsoft. 2007-10-11 [2007-10-23]. (原始內容存檔於2007-10-05). 
  4. ^ What's New. Microsoft. 2007-10-01 [2007-10-23]. (原始內容存檔於2007-10-12). 
  5. ^ Overview of Windows XP Service Pack 3 (PDF). Microsoft. 2008-05-06 [2008-12-22]. (原始內容 (PDF)存檔於2009-01-17). 
  6. ^ Peer caching: MSDN Library. [2017-04-19]. (原始內容存檔於2017-04-20). 
  7. ^ Windows Management Framework BITS package. [2017-04-19]. (原始內容存檔於2015-01-20). 
  8. ^ Compact Server. [2017-04-19]. (原始內容存檔於2012-10-20). 
  9. ^ What's New in Background Intelligent Transfer Service. [2017-04-19]. (原始內容存檔於2017-05-18). 
  10. ^ 存档副本. [2017-04-19]. (原始內容存檔於2017-03-22). 
  11. ^ Zenworks 7. [2021-08-23]. (原始內容存檔於2009-02-12). 

外部連結