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