Windows 7 和 2008 R2 中的BranchCache

2010/5/11 10:57:06    編輯:軟媒 - 笨笨     字體:【

Win7之家www.airtaxifl.com):Windows 7 和 2008 R2 中的BranchCache

BranchCache™ 是Windows® 7和Windows Server® 2008 R2中的一個功能,當(dāng)用戶從分支機構(gòu)位置訪問中央辦公室的內(nèi)容時,它可以降低廣域網(wǎng)(WAN)利用率并增強網(wǎng)絡(luò)應(yīng)用程序響應(yīng)能力。當(dāng)您啟動BranchCache后,會將從Web服務(wù)器或文件服務(wù)器檢索到的內(nèi)容的副本緩存到分支機構(gòu)中。如果分支機構(gòu)內(nèi)的另一個客戶端請求相同的內(nèi)容,則該客戶端可以直接從本地分支網(wǎng)絡(luò)進行下載,而不需要通過使用廣域網(wǎng)(WAN)檢索該內(nèi)容。

此白皮書提供 BranchCache 的概述,介紹BranchCache運行的不同模式,并描述配置 BranchCache 的方法。該白皮書還介紹 BranchCache 如何與 Web 服務(wù)器和文件服務(wù)器一起使用,以及 BranchCache 采取的步驟來確定內(nèi)容是否為最新的。

要全部查看 Windows 7 資源、文章、演示和指南,請訪問 Windows Client TechCenter 上的 Springboard Series for Windows 7。

技術(shù)概述

當(dāng)在分支機構(gòu)中,用戶使用利用WAN連接到服務(wù)器的網(wǎng)絡(luò)應(yīng)用程序時,他們通常體驗到性能很差。例如,分支機構(gòu)的用戶打開位于中央辦公室上的位于共享文件夾下的大文件可能會花費幾秒鐘或者甚至幾分鐘時間。類似地,用戶試圖通過Web 瀏覽器查看視頻可能必須等待很長時間才能使視頻加載。

BranchCache 旨在為分支機構(gòu)用戶提供像直接連接到中央辦公室一樣的體驗而設(shè)計。借助 BranchCache,第一個從 Web 服務(wù)器或文件服務(wù)器(稱為內(nèi)容服務(wù)器)下載數(shù)據(jù)的客戶端會在本地分支網(wǎng)絡(luò)上緩存一個副本。后續(xù)的客戶端會在由內(nèi)容服務(wù)器對其進行身份驗證和授權(quán)之后,從分支機構(gòu)中下載該內(nèi)容的本地緩存副本。

BranchCache 為了與您現(xiàn)有的網(wǎng)絡(luò)和安全基礎(chǔ)結(jié)構(gòu)一起使用而設(shè)計。它支持 IPv4、IPv6 和端對端加密方法,如 SSL 和 IPsec。BranchCache 確保會提供最新版本的內(nèi)容,且客戶端只能在由內(nèi)容服務(wù)器進行授權(quán)之后才能從分支機構(gòu)內(nèi)檢索內(nèi)容。

您的系統(tǒng)必須滿足以下要求才能使用 BranchCache:

  • 客戶端計算機必須運行 Windows7,并啟用了 BranchCache 功能。
  • Web 服務(wù)器和文件服務(wù)器必須運行 Windows Server 2008 R2,并啟用了 BranchCache 功能。

模式

根據(jù)緩存所處的位置,BranchCache 可以在以下兩種模式之一下操作:托管緩存模式或分布式緩存模式。托管緩存模式通過在分支機構(gòu)中并運行 Windows Server 2008 R2 的一臺計算機作為主機來執(zhí)行操作。會為客戶端配置主機的完全限定域名,這樣客戶端才可以在可用時從托管緩存中獲取內(nèi)容。如果在托管緩存中該內(nèi)容不可用,則通過WAN從內(nèi)容服務(wù)器上獲取該內(nèi)容,然后將其提供給托管緩存,這樣后續(xù)客戶端可以受益于此。

對于用戶數(shù)量少于50的分支機構(gòu),可以采用分布式緩存模式的BranchCache配置。在此模式下,本地 Win7客戶端保持該內(nèi)容的一個副本,其他已授權(quán)客戶端在請求相同數(shù)據(jù)時可以使用。這樣消除了在分支機構(gòu)中配備一臺服務(wù)器的需求。然而,與托管緩存模式不同,此配置僅適合跨單一子網(wǎng)的情形(即,分支機構(gòu)的每個子網(wǎng)都必須通過使用WAN獲取一次該內(nèi)容)。此外,休眠的客戶端或以其他方式從網(wǎng)絡(luò)斷開連接的客戶端不能向發(fā)送請求的客戶端提供任何內(nèi)容。接下來的部分會更加詳細(xì)地介紹托管緩存模式和分布式緩存模式。

內(nèi)容元數(shù)據(jù)

減少帶寬的機制是向客戶端發(fā)送關(guān)于內(nèi)容的元數(shù)據(jù)(稱為內(nèi)容元數(shù)據(jù)),客戶端通過該元數(shù)據(jù)從分支機構(gòu)獲取內(nèi)容。這會降低 WAN 帶寬的使用,因為內(nèi)容元數(shù)據(jù)顯著小于實際內(nèi)容。在發(fā)送內(nèi)容元數(shù)據(jù)之前,服務(wù)器會授權(quán)客戶端。重要的是,內(nèi)容服務(wù)器會將內(nèi)容元數(shù)據(jù)發(fā)送給每個客戶端,以確?蛻舳耸冀K收到基于最新內(nèi)容的哈希。

內(nèi)容被分為幾個塊。對于每個塊都會計算一個哈希(稱為塊哈希)。對于塊的集合也會計算一個哈希(稱為段哈希)。內(nèi)容元數(shù)據(jù)主要由塊哈希和段哈希構(gòu)成。所使用的哈希算法是SHA 256。壓縮率大約為 2000:1。即,元數(shù)據(jù)的大小大約比原始數(shù)據(jù)本身小2000倍。

段哈希提供一個發(fā)現(xiàn)單位。這可幫助減少為某個給定內(nèi)容執(zhí)行的查找的總數(shù)(與查找每個塊相比)。塊哈希是一個下載單位。當(dāng)客戶端需要從托管緩存或另一個客戶端獲取數(shù)據(jù)時,它會基于塊單位下載內(nèi)容以保證數(shù)據(jù)可以快速返回應(yīng)用程序。

BranchCache 緩存的內(nèi)容的最小大小為 64 KB。當(dāng)內(nèi)容小于 64 KB時,則會通過WAN直接從內(nèi)容服務(wù)器獲取數(shù)據(jù)。

圖1 塊和哈希

托管緩存模式

托管緩存是在分支機構(gòu)中啟用了BranchCache的服務(wù)器,它儲存從支持BranchCache服務(wù)器下載的數(shù)據(jù),是為啟用了BranchCache功能的客戶端提供下載的中央儲存。托管緩存模式的配置會稍后在本文中介紹。

托管緩存模式不需要專用服務(wù)器。BranchCache功能可以在運行了Windows Server 2008 R2 的服務(wù)器上啟用,它位于分支機構(gòu)中,并且可以運行其它任務(wù)。此外,BranchCache可以被設(shè)置成為虛擬的負(fù)載,可以與該服務(wù)器上其它工作負(fù)載例如文件和打印等一起運行。

圖2 解釋了托管緩存模式,并且提供了關(guān)于文檔緩存和獲取過程的簡單介紹。

圖2 托管緩存模式

更詳細(xì)地,托管緩存模式使用以下過程來緩存和獲取數(shù)據(jù):

  1. Windows7 客戶端連接到內(nèi)容服務(wù)器并請求一個文件(或文件的一部分),完全和沒有使用 BranchCache 時檢索文件一樣。
  2. 內(nèi)容服務(wù)器對客戶端進行身份驗證和授權(quán),和沒有使用 BranchCache 時一樣。如果成功,它會在正常發(fā)送數(shù)據(jù)的相同通道上返回內(nèi)容元數(shù)據(jù)。
  3. 客戶端使用元數(shù)據(jù)中的哈希在托管緩存服務(wù)器中搜索文件。由于這是所有客戶端第一次檢索該文件,它尚未在本地網(wǎng)絡(luò)上進行緩存。因此,客戶端直接從內(nèi)容服務(wù)器獲取該文件。
  4. 客戶端與托管緩存服務(wù)器建立安全套接字層 (SSL) 連接,并且它在此加密通道上提供內(nèi)容標(biāo)識符。
  5. 托管緩存服務(wù)器連接到客戶端并獲取它尚未緩存的塊集。
  6. 第二個 Windows 7 客戶端從內(nèi)容服務(wù)器請求相同的文件。內(nèi)容服務(wù)器再次授權(quán)該用戶并返回內(nèi)容標(biāo)識符。
  7. 客戶端使用這些標(biāo)識符從托管緩存服務(wù)器請求數(shù)據(jù)。托管緩存服務(wù)器加密數(shù)據(jù)并將它返回給客戶端。(數(shù)據(jù)是通過使用某個密鑰加密的,該密鑰是從內(nèi)容服務(wù)器發(fā)送的哈希派生的,是作為內(nèi)容元數(shù)據(jù)的一部分)
  8. 客戶端解密數(shù)據(jù),計算從托管緩存接收到的塊上的哈希,并確保它與內(nèi)容服務(wù)器提供的塊哈希(作為內(nèi)容元數(shù)據(jù)的一部分)相同。這可確保內(nèi)容未被修改。

分布式緩存模式

在分布式緩存模式下,Windows 7客戶端緩存使用 WAN 獲取到的內(nèi)容,然后在收到請求后,將該內(nèi)容直接發(fā)送給其它已授權(quán)的 Windows 7 客戶端。在用戶數(shù)量少于50的分支機構(gòu)中,分布式緩存模式最適合。

圖3解釋了分布式緩存模式,并提供關(guān)于緩存和檢索過程的簡單介紹。對于請求相同內(nèi)容的其他客戶端來說,通過WAN從內(nèi)容服務(wù)器獲取內(nèi)容的第一個客戶端就會成為分支機構(gòu)中該內(nèi)容的一個源。當(dāng)?shù)诙䝼客戶端請求相同的內(nèi)容時,它會從內(nèi)容服務(wù)器下載內(nèi)容元數(shù)據(jù)。第二個客戶端向本地網(wǎng)絡(luò)發(fā)送一個段哈希的請求,以確定任何其他客戶端是否已緩存該數(shù)據(jù)。找到第一個客戶端之后,第二個客戶端會從本地獲取該內(nèi)容。

圖3 分布式緩存模式

此過程與托管緩存模式接下來的過程類似,除了緩存內(nèi)容的請求被發(fā)送到本地網(wǎng)絡(luò)并且不需要托管緩存服務(wù)器之外。

更詳細(xì)地,分布式緩存模式使用以下過程來緩存和獲取數(shù)據(jù):

  1. Windows 7 客戶端連接到內(nèi)容服務(wù)器并請求一個文件(或文件的一部分),完全和沒有使用 BranchCache 時檢索文件一樣。
  2. 內(nèi)容服務(wù)器對客戶端進行身份驗證和授權(quán),然后服務(wù)器返回一個文件的標(biāo)識符,客戶端用它在本地網(wǎng)絡(luò)上搜索該文件。因為這是所有的客戶端第一次嘗試檢索該文件,它尚未在本地網(wǎng)絡(luò)上進行緩存。因此,客戶端直接從內(nèi)容服務(wù)器獲取該文件并緩存它。
  3. 第二個Windows 7客戶端從內(nèi)容服務(wù)器請求相同的文件。內(nèi)容服務(wù)器對用戶進行身份驗證和授權(quán),與未使用BranchCache時的方式完全相同。如果成功,它會在正常的發(fā)送數(shù)據(jù)的相同通道上返回內(nèi)容元數(shù)據(jù)。
  4. 第二個客戶端通過使用Web服務(wù)發(fā)現(xiàn)(WS-Discovery)多播協(xié)議在本地網(wǎng)絡(luò)上發(fā)送一個請求來請求所需的文件。有關(guān)WS_Discovery的詳細(xì)信息,請參閱白皮書“Web 服務(wù)動態(tài)發(fā)現(xiàn)”。
  5. 先前已緩存該文件的客戶端將該文件發(fā)送給請求客戶端。數(shù)據(jù)是通過使用某個密鑰加密的,該密鑰是從內(nèi)容服務(wù)器發(fā)送的哈希派生的,是作為內(nèi)容元數(shù)據(jù)的一部分。
  6. 客戶端解密數(shù)據(jù),計算從第一個客戶端接收到的塊哈希,并確保它與內(nèi)容服務(wù)器提供的塊哈希(作為內(nèi)容元數(shù)據(jù)的一部分)相同,這可確保內(nèi)容未被修改。

通過使用分布式緩存模式,IT專業(yè)人員可以在分支機構(gòu)中以最少的硬件部署利用BranchCache。然而,如果分支機構(gòu)已部署其他基礎(chǔ)結(jié)構(gòu)(例如,服務(wù)器已運行工作負(fù)載,如文件和打印),則使用托管緩存模式可能是更有益的,原因如下:

  • 提高緩存的可用性。托管緩存模式提高了緩存效率是因為即使最初請求該數(shù)據(jù)的客戶端處于脫機狀態(tài),該內(nèi)容仍然可用。
  • 緩存更有利于整個分支機構(gòu)。分布式緩存模式在單一子網(wǎng)上操作。如果使用分布式緩存模式的分支機構(gòu)具有多個子網(wǎng),則每個子網(wǎng)上的客戶端需要單獨下載每個請求的文件的一個副本。使用托管緩存模式,分支機構(gòu)中的所有客戶端都可以訪問單一緩存,即使它們處于不同的子網(wǎng)。