Win 2008 R2實戰之Branch Cache入門

這天,Contoso公司的廣州辦又抱怨工作時間訪問總部的文件服務器很慢,經常無法正常打開共享文件。IT部接到抱怨後,開始分析廣州辦的網絡使用情況,結果發現,除了日常互聯網應用外,大家訪問總部文件服務器的時候,經常需要下載相同的文件,這樣重複性的訪問,加重了廣州辦本來就不寬鬆的網絡負載壓力。IT經理讓大家出謀劃策,看如何解決既滿足廣州辦訪問互聯網的需求,又能加速訪問總部文件服務器的速度。小趙沉思幾秒,脫口而出:試試Windows Server 2008 R2的Branch Cache吧。

一、 Branch Cache 簡介

也許大家的公司會出現這樣一種情況:總部的員工訪問總部的文件服務器快速高效,因爲他們處於局域網中。但對於遠程分支機構辦公的員工,訪問總部的文件就沒那麼走運了,在網絡應用高峯時期,使用一個稍微大一些的文檔,需要花費幾分鐘甚至幾十分鐘的時間。即使網絡應用負載不高,廣域網的穩定性及速率也不盡人意。這樣的降低分支機構的員工的工作效率,讓人很不爽。

Branch Cache正是爲此而設計的。當在Windows 7和Windows Server 2008 R2上啓用了Branch Cache後,總部的web和文件服務器內容在分支機構請求訪問時被緩存到分支本地網絡,當該分支的另一客戶端請求訪問相同內容時,經過總部服務器的驗證授權後,則可以直接從分支本地網絡訪問它。


二、 Branch Cache的緩存模式

Branch Cache的緩存模式分爲兩種:分佈式緩存和託管式緩存。如圖1
 

圖1

託管式緩存(Hosted Cache mode)需要Branch Cache功能被部署在分支機構的Windows Server 2008 R2上,當Windows 7客戶端第一次從總部服務器中訪問數據時,會先通過廣域網獲取數據,同時也被緩存服務器緩存,當分支機構又有訪問相同數據的請求時,總部服務器只返回數據的哈希值,而由緩存服務器來提供數據訪問需求。

分佈式緩存適用於分支機構少於50個員工的情況,它不需要單獨的服務器提供緩存,而是利用被配置成分佈式緩存模式的Windows 7客戶端爲其他經過驗證的Windows 7客戶端提供已緩存的請求數據。但是此模式通過組播請求數據的時候,不能跨越子網。另外,當分支機構可以提供內容緩存的Windows 7客戶端離線或者不可用時,將無法提供內容給請求客戶端。

注意:一個客戶端不能同時使用託管和分佈式緩存。如果客戶端被配置成託管緩存模式,那將不會維持本地緩存內容。如果客戶端被配置成分佈式緩存模式,那它不會聯繫本地託管模式的Branch Cache的服務器


三、 託管緩存是如何工作的

圖2描述了託管緩存模式,並提供了文件緩存和檢索過程的簡要說明。
 

圖2

具體工作過程如下:

1. 分支機構的Windows 7客戶端連接到運行Windows Server 2008 R2的總部數據中心,請求所需內容,這個過程與不使用Branch Cache獲取內容時一樣。

2. 數據中心服務器對客戶端進行驗證,並驗證其是否有權訪問數據。如果驗證成功,數據中心服務器將使用原來的通信通道返回一個內容元數據,而不是內容本身。

3. 客戶端A使用元數據中的標識符(哈希值)搜索本地託管模式的Branch Cache的服務器。由於還沒有客戶端檢索過該內容,它還沒有被緩存到分支本地網絡。因此,客戶端A會直接從總部數據中心檢索內容。

4. 客戶端A從總部數據中心下載到內容後,與託管緩存服務器建立SSL連接,併發送內容標識符。

5. 緩存服務器連接到客戶端A,檢索緩存,下載內容並存儲在緩存池中。

6. 客戶端B在總部數據中心請求相同的內容時,數據中心驗證用戶並返回內容標識符。

7. 客戶端B就使用這些標識符向託管緩存服務器請求內容。託管緩存服務器加密數據併發送給客戶端B。

8. 客戶端B解密數據,並校驗收到的緩存內容的哈希值,與總部數據中心提供的值進行比較。確保獲得的內容沒有被修改。


四、 分佈緩存是如何工作的

圖3描述了分佈緩存模式,並提供了文件緩存和檢索過程的簡要說明。
 

圖3

分佈緩存請求數據的過程與託管緩存類似,除了被請求的數據發送到內部網絡的客戶端中,並且不需要緩存服務器

1. 分支機構的Windows 7客戶端連接到運行Windows Server 2008 R2的總部數據中心,請求所需內容,這個過程與不使用Branch Cache獲取內容時一樣。

2. 數據中心服務器對客戶端進行驗證,並驗證其是否有權訪問數據。如果驗證成功,數據中心服務器將使用原來的通信通道返回一個內容元數據,而不是內容本身。

3. 客戶端使用內容元數據中的標識符在分支本地網絡搜索。由於還沒有客戶端檢索過該內容,它還沒有被緩存到分支本地網絡。因此,客戶端A會直接從總部數據中心檢索內容並緩存到客戶端本地。

4. 客戶端B也從總部數據中心請求相同的內容。數據中心也對客戶端進行驗證和授權,像沒有啓用Branch Cache一樣。如果驗證成功,也會返回一個請求內容的元數據。

5. 客戶端B在分支本地網絡使用WS-Discover組播協議請求數據內容。

6. 客戶端A使用SSL加密通道將已緩存的內容數據發送給客戶端B。

7. 客戶端B解密數據,並校驗收到的緩存內容的哈希值,與總部數據中心提供的值進行比較。確保獲得的內容沒有被修改。

關於Branch Cache的元數據:爲了能確保傳遞正確的內容給發出請求的客戶端,啓用了Branch Cache的服務器會使用哈希值來確定內容。當用戶訪問啓用了Branch Cache的文件或web服務器時,會返回給用戶一個SHA-256的哈希值,而不是內容本身的哈希值。由於這個元數據值小於真實內容的數千倍,所以大大降低了通過廣域網鏈路的數據量。

總結:通過上面的描述,想必大家對Branch Cache已經有一定了解了。下一篇,將開始在Contoso公司的廣州辦部署Branch Cache,看看它到底是如何解決廣州辦員工的煩惱的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章