BranchCache分支機構新體驗
Windows Server 2008 R2所提供的BranchCache功能可以提高網絡的響應,當用戶從遠程辦公室訪問時,它可以使這些用戶的體驗就像在本地網絡中一樣。同時,BranchCache還可以減少對WAN的使用。啟用了BranchCache之后,對內網Web和文件服務器的數據訪問被緩存在分支辦公室本地。當同一網絡的另外一個客戶端請求這個文件時,它實際上是從本地緩存中下載這個文件,而不需要通過WAN去下載。
圖1,BranchCache部署示意圖
從本質上講,BranchCache就像一個大文件柜,儲存了本地辦公網絡的一份內容檢索的副本。當其它客戶端在同一網絡上要求這些內容時,客戶端就可以快速檢查,并確認它在本地的位置。緩存副本相當于原件在總公司,但是如果其它客戶端需要的話,可以從其他客戶端通過速度更快的局域網獲得該文件。內容可以是以Web為基礎的,或者是典型的文件和文件夾。出于安全的考慮,可以配置為SSL或IPSec的加密連接。所有的安全是通過授權的主機服務器來控制的,而不是在遠程辦公室里進行緩存處理任務的“小服務器”來實現。
BranchCache可以在以下兩種模式下運行:
(一) 分布式緩存
通過一個點對點的架構:遠程辦公室的客戶端都使用同事間的緩存。這種方式最適合企業中比較小的辦公室,沒有時間或資源來管理不同地點的服務器。基本上,每個客戶端都扮演成緩存服務器角色,機器間的網絡偵聽是通過點對點聯網來實現的。這個方案要求所有客戶端機器運行的必須是Windows 7。
圖2,分布式緩存模式BranchCache部署
分布式緩存模式BranchCache工作過程
a) 一個客戶端計算機從主辦公室的BranchCache-enabled的服務器中下載內容。該內容在下載完成后,將被添加到一個位于其硬盤上的緩存中。
b) 之后,第二臺客戶端向主辦公室的BranchCache-enabled的服務器請求相同的內容。位于主辦公室的BranchCache-enabled 的服務器返回描述了所請求的內容的標識符。該客戶端計算機搜索本地網絡中已經下載并緩存了該內容的其他計算機
c) 第二臺客戶端計算機發現了第一臺計算機緩存中的內容。第二臺計算機從第一臺計算機中下載內容
這里面有兩個問題要解決:
1) 如果第一臺客戶端關機了,或者是筆記本用戶出差了,第二臺客戶端應該如何獲取請求內容?
答:其上問題結果是這樣的:如果一個客戶端計算機無法在本地網絡中找到請求的內容,它返回原始服務器并請求一個下載。
2) 如果第一臺客戶端下載的文件,在客戶端本地被修改了,使得客戶端緩存的文件與主辦公室的BranchCache-enabled的服務器上的文件內容不一致了,第二臺客戶端如何獲知此情況,并應作如何處理?
答:我們通過第二臺計算機的工作步驟來認識這個問題。
a) 第二臺客戶端連接到主辦公室的BranchCache-enabled的服務器(Windows Server 2008 R2操作系統),并且請求一個文件(或者某個文件的一部分),和沒有BranchCache 之前的情形完全一樣。
b) 服務器驗證該用戶并且像正常情況一樣,校驗該用戶被授權訪問這些數據。
c) 如果服務器和客戶端都支持BranchCache,并且BranchCache已經針對這些數據進行了配置,服務器不返回請求的文件,而是返回對這些數據的散列(即HASH值)。
d) 如果第二臺客戶端監測到延遲比較高(缺省情況是>80ms),它發送一個針對所請求的文件的請求到它所屬的局域網上的分布式緩存對等體,該請求使用Web Services Dynamic Discovery (WS-Discovery)組播協議
e) 如果任何分布式緩存對等體擁有該數據的緩存,它們將其返回給第二臺客戶端。客戶端將獲取到的緩存進行散列運作(得到HASH值),與主辦公室服務器返回的HASH值,進行比對,若兩者相等,則驗證這些數據沒有被修改過,如果不相等,它將返回原始服務器并請求一個下載
f) 如果沒有分布式緩存對等體緩存了該數據,客戶端將從服務器上直接得到數據。客戶端接著對該數據進行緩存,使得其他的客戶端能夠通過局域網下載該數據。
(二) 托管緩存模式
通過客戶端/服務器架構:在遠程辦公室部署一臺服務器,以提供快速存取內容服務。這更適合于大公司下運營良好的中小型分支機構。同時將資源和行政管理等方面的文件,安放在遠程的總部服務器上。這是最安全的部署和配置。
托管式緩存模式使用專門一臺服務器用于提供分支結構緩存,其他過程與分布式緩存類似。其工作過程如下:a) 一個客戶端計算機從主辦公室的一臺BranchCache-enabled 服務器下載內容
b) 該客戶端將下載的內容主動通知到設置在分支結構中,配置了托管緩存服務的服務器,使其緩存該內容。該服務器操作系統要求是Windows Server 2008 R2。
c) 第二臺客戶端計算機請求相同的內容。主辦公室的BranchCache-enabled服務器返回描述了所請求的內容的標識符
d) 客戶端計算機查詢本地的宿主緩存服務器,并且下載內容
e) 如果客戶端計算機無法在宿主緩存服務器上找到內容,它返回到主辦公室的原始服務器并且請求下載。
在托管緩存模式中也同樣面臨在分布式緩存中存在的兩個問題,解決機制與之相同,在此不再詳述。
(三) 分布式緩存與托管緩存對比
下面給出分布式緩存與托管緩存的特點對比,以便各位在企業設計場景中參考
場景 分布式緩存 托管緩存
原始下載了該數據的客戶端離線 數據無法提供 數據在宿主緩存服務器上依然提供
別的客戶端所請求的緩存的數據在一個不同的子網上的原始下載客戶端上 客戶端無法找到緩存的數據 客戶從托管緩存服務器中下載數據
網絡管理員需要擔心組播流量 使用組播 不使用組播
安全管理員擔心對等體到對等體之間的通訊 使用對等體到對等體 使用客戶端/服務器模式
安全管理員擔心便攜式計算機上所緩存的數據 一個便攜式計算機對等體將會緩存數據 客戶端不需要對數據進行緩存
通過本文的介紹,相信大家對于Windows Server 2008 R2的分支機構架構的規劃將更加得心應手,結合之前介紹的DirectAccess用戶的對于資源訪問的體驗將產生質的變化。
【編輯推薦】