背景智能傳輸服務

背景智能傳輸服務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). 

外部連結

編輯