文件服務器之Branchcache分佈式緩存

前言:

BranchCache是 Windows 7 和 Windows Server 2008 R2 中的一個功能,當用戶從分支機構位置訪問總部的內容時,它可以降低廣域網 (WAN) 利用率並增強網絡應用程序響應能力。啓用 BranchCache 之後,會在分支機構內緩存從 Web 服務器或文件服務器檢索到的內容的副本。如果分支機構內的另一個客戶端請求相同的內容,則該客戶端可以直接從本地分支網絡進行下載,而不需要通過使用廣域網 (WAN) 檢索該內容。總的來說是爲了優化分支機構網絡流量。  
根據緩存所處的位置,BranchCache 可以在以下兩種模式之一下操作:託管緩存模式或分佈式緩存模式。託管緩存模式通過將運行 Windows Server 2008 R2 的一臺計算機部署爲分支機構中的一臺主機來執行操作。會爲客戶端配置主機的完全限定域名,這樣它們可以在可用時從託管緩存中檢索內容。如果在託管緩存中不提供該內容,則會通過使用 WAN 從內容服務器進行檢索,然後將其提供給託管緩存,這樣後續客戶端可以受益。    
對於用戶數量少於 50 的分支機構,可以採用分佈式緩存模式配置 BranchCache。在此模式下,本地 Windows 7 客戶端保持該內容的一個副本,並使其對請求相同數據的其他已授權客戶端可用。這消除了在分支機構中配備一臺服務器的需求。但是,與託管緩存模式不同,此配置僅適合跨單一子網的情形(即,必須通過使用 WAN 在分支機構中每個子網檢索一次該內容)。此外,休眠的客戶端或以其他方式從網絡斷開連接的客戶端不能向請求客戶端提供內容。


Branchcache工作原理


分佈式緩存模式:在分佈式緩存模式下,Windows 7 客戶端緩存它們通過使用 WAN 檢索到的內容,然後在收到請求時將該內容直接發送給其他已授權的 Windows 7 客戶端。下圖顯示分佈式緩存模式,並提供緩存和檢索過程的簡單圖示。通過使用 WAN 從內容服務器檢索內容的第一個客戶端,對於請求相同內容的其他客戶端來說,成爲分支機構內該內容的一個源。當第二個客戶端請求相同的內容時,它會從內容服務器下載內容元數據。第二個客戶端接着發送一個請求,請求本地網絡上的段哈希,以確定是否任何其他客戶端已緩存該數據。找到第一個客戶端之後,第二個客戶端會從其本地檢索該內容。

clip_image001
分佈式緩存模式使用以下過程來緩存和檢索數據:    
a.Windows 7 客戶端連接到內容服務器並請求某個文件(或某個文件的一部分),完全就像它過去沒有使用 BranchCache 時檢索文件一樣。    
b.內容服務器對客戶端進行身份驗證和授權,然後服務器返回一個客戶端用於在本地網絡上搜索該文件的標識符。因爲這是任何客戶端第一次嘗試檢索該文件,它尚未在本地網絡上進行緩存。因此,客戶端直接從內容服務器檢索該文件並緩存它。    
c.第二個 Windows 7 客戶端從內容服務器請求相同的文件。內容服務器對用戶進行身份驗證和授權,與未使用 BranchCache 時它對客戶端進行身份驗證和授權的方式完全相同。如果成功,它會在通常已發送數據的相同通道上返回內容元數據。    
d.第二個客戶端通過使用 Web 服務發現 (WS-Discovery) 多播協議在本地網絡上發送一個請求,請求所需的文件。有關 WS_Discovery 的詳細信息,請參閱白皮書“Web 服務動態發現”。    
e.先前已緩存該文件的客戶端將該文件發送給請求客戶端。數據是通過使用某個密鑰加密的,該密鑰是作爲內容元數據的一部分,從由內容服務器發送的哈希派生的。    
f.客戶端解密數據,計算從第一個客戶端接收到的塊上的哈希,並確保它等於內容服務器作爲內容元數據的一部分提供的塊哈希。這可確保內容未被修改。

Branchcache工作要求


您的系統必須滿足以下要求才能使用 BranchCache:    
a.客戶端計算機必須運行 Windows 7,並啓用了 BranchCache 功能。    
b.服務器必須運行 Windows Server 2008 R2,並啓用了 BranchCache 功能


實驗拓撲

clip_image003


Setup

1, 建立contoso.com的域以及分支結構的域,分支結構的客戶端加入域(參考:http://bbs.51cto.com/thread-1034839-1.html

clip_image004

2, 在總部DC上(嚴謹點說是企業裏提供文件服務的那臺服務器,我這裏DC是域控並提供文件服務)安裝文件服務角色裏的網絡文件Branchcache和功能裏的Branchcache

clip_image005

clip_image006

3, 在DC上建立共享文件夾Branchcache,共享後在高級裏選中“啓用Branchcache”

clip_image007

4, 打開組策略,新建一個Ou名字叫“Branchcache_Server”,並定位到計算機配置—策略—管理模板—網絡—Lanman服務器,啓用分支緩存的哈希發佈,完成後應用到我們提供文件服務的服務器所在的OU上,並gpupdate /force 一下

clip_image009

5, 新建一個組策略對象,名叫“Branchcache_Client”並編輯策略,定位到—計算機配置—策略—管理模板—網絡—Branchcache,分別啓用

“啓用Branchcache”

“設置Branchcache分佈式緩存模式”

“配置網絡文件的Branchcache”

clip_image010

在分佈式緩存模式下,BranchCache 將 HTTP 協議用於客戶端計算機之間的數據傳輸,並將 WS-Discovery 協議用於緩存內容發現。必須配置客戶端防火牆才能允許在使用分佈式緩存模式的計算機上傳入 HTTP 和 WS-Discovery 通信。    
注:配置爲使用託管緩存模式的客戶端也使用 HTTP 協議,但不使用 WS-Discovery 協議。必須將在託管緩存模式下操作的客戶端配置爲允許從託管緩存服務器傳入 HTTP 通信。    
允許使用80、3702號端口,具體配置如下:

定位到計算機配置—策略—Windows設置—安全設置—高級安全Windows防火牆—入站規則,新建允許2條入站策略

“Branchcache-對等機發現(使用WSD)”

clip_image011

“Branchcache-內容檢索(使用http)”

clip_image012

完成後應用到分支機構的需要緩存內容的計算機所在的OU上

clip_image013

6, 爲了單域多站點的複製能夠快速響應,我們直接打開dssite進行立即複製

clip_image014

7, 待2邊複製完成後,計算機都gpupdate /force ,最好重啓一下,全部應用策略後,使用netsh branchcache show status all  能顯示BranchCache 服務狀態、本地緩存的位置、本地緩存的大小、BranchCache 使用的 HTTP 和 WS-Discovery 協議的防火牆規則的狀態  
對branchcache使用命令行工具語法,請參考:netsh branchcache /?

clip_image015

8, 我們先使用win7-2到dc上去複製一個文件,然後再次查看Branchcache的狀態:說明已經進行了緩存

clip_image016

9,我們使用win7-1訪問DC,並考貝同樣的內容,我們使用netstat –n 可以看出,win7-1是通過80端口從win7-1上覆制而來!

clip_image018


IT之夢---你---我---他

2013年05月20日

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