Windows 7 和 2008 R2 中的BranchCache

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

Win7之家afsion.com.cn):Windows 7 和 2008 R2 中的BranchCache

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

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

要全部查看 Windows 7 資源、文章、演示和指南,請(qǐng)?jiān)L問(wèn) Windows Client TechCenter 上的 Springboard Series for Windows 7。

技術(shù)概述

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

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

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

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

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

模式

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

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

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

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

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

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

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

圖1 塊和哈希

托管緩存模式

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

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

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

圖2 托管緩存模式

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

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

分布式緩存模式

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

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

圖3 分布式緩存模式

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

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

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

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

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