BranchCache 概述
译者:方文辉日期:2010-03-12
BranchCache™ 设计用于对分支机构的员工访问远程服务器内容时减少WAN的连接并提高应用程序的响应速度。分支机构客户计算机使用本地维护的数据缓存来减少WAN连接的流量。缓存可以分布于多台客户计算机(分布式缓存模式)或者可以存在于分支机构的一台服务器上 (主机缓存模式)。
BranchCache 设计时考虑到了防止非授权的内容访问。内容在设备间的传输是加密的。只能使用主办公室内容服务器提供的识别码才能解密。内容服务器只向授权的客户提供识别码。 BranchCache 支持端到端安全通道的下载,如 HTTPS 和 IPsec安全通道。
BranchCache 只能优化 Windows Server 2008 R2 服务器和 Windows 7 客户机之间的传输流。BranchCache 功能是一个可选的 Windows Server 2008 R2 组件,必须在使用 BranchCache 前先安装和启用。要优化 SMB 传输,文件服务器角色必须启用。 BranchCache 在 Windows 7 的客户机上是缺省安装的,但是 IT 必须启用 BranchCache 并创建防火墙规则来启用客户机之间的通信。
分布式缓存模式
如果客户计算机是配置成分布式缓存模式的,缓存的内容就会存放于分支机构网络中的多台计算机里。除了运行 Windows 7 的计算机外,分支机构不需要其它的基础设备和服务。
图1 分布式缓存模式
- 客户机1 对启用了分支机构缓存的总部服务器发布一个文件请求。这个请求可以用任何能启用BranchCache的协议(HTTP、SMB、 或BITS)传送。客户机使用兼容BranchCache协议的字段、消息或消息头等方式告诉服务器它是能使用BranchCache 的。
- 客户机1 查找本地已经下载并缓存了内容的计算机。这个查找是通过BranchCache 发现协议来实现的(它使用的是 WS-Discovery协议), 这是通过 UDP 发送的一个多播协议。客户机 1 是第一个下载了这部分内容的分支机构计算机,所以它没有得到任何查找回应。
- 客户机1 发布另一个请求到总部服务器,使用能启用BranchCache的协议(HTTP、SMB、 或BITS)。这个请求没有标记成能使用BranchCache 的。服务器回应请求的数据。客户机于是把数据加入到本地缓存。
- 客户机2 请求客户机 1 早先已下载过的同样的数据。客户机2 从总部服务器得到描述所请求内容的识别码。
- 客户机2 使用 BranchCache 发现协议来查找内容。客户机1 得到这个请求,在其本地缓存中找到了请求的内容,并回应给客户机2。
- 客户机2 向客户机1 请求内容,使用的协议是BranchCache 取数据协议 (它使用 HTTP). 客户机1 传送数据给客户机 2, 通过 BranchCache 加密方案来保护数据。客户机2 使用从总部服务器中取到的识别码来验证数据。
主机缓存模式
在主机缓存模式中,缓存的内容是维护于一台运行Windows Server 2008 R2 的分支机构本地网络中的计算机。
图2 主机缓存模式
- 客户机1 向总部启用了BranchCache服务器的请求数据。这个请求可以通过任何能启用BranchCache的协议发送 (HTTP, SMB, BITS). 客户机向服务器表示它是能够使用BranchCache 的, 客户机使用兼容BranchCache协议的字段、消息或消息头等方式告诉服务器它是能使用BranchCache 的。 服务器响应,发送一组识别码来描述需要下载的内容。这些识别码通过BranchCache兼容协议发送。
- 客户机1 向分支机构中缓存有内容的主机请求数据,使用BranchCache 取数据协议 [MS-PCCRD] (使用HTTP, TCP, 缺省时源端口: ephemeral, 目标端口: 80 ). 主机响应,告诉客户机1所需要的数据不存在。
- 客户机1 向总部服务器发送另一个请求,使用能启用BranchCache的协议 (HTTP, SMB, BITS). 这个请求没有标记为能用BranchCache 的,服务器响应数据。
- 客户机1 向主缓存机广告它新下载了数据,使用BranchCache 主机缓存协议 [MS-PCHC]。这个协议是在 HTTPS 上的(TCP, 缺省时源端口: ephemeral, 目标端口: 443 )。
- 主缓存服务器连接到客户机,并下载客户机广告中提到的下载内容,使用BranchCache 取数据协议 [MS-PCCRD] (使用HTTP, TCP, 缺省时源端口: ephemeral, 目标端口: 80)。
- 客户机2 向总部服务器发送请求,需要得到客户机1早先下载的同样的数据。客户机2得到总部服务器描述这些内容的识别码。
- 客户机2 向分支机构中的主缓存主机请求得到需要的数据,使用BranchCache 取数据协议 [MS-PCCRD] (使用HTTP, TCP, 缺省时源端口: ephemeral, 目标端口: 80)。缓存主机响应数据。客户机2使用从总部得到的识别码验证数据。
如果一台客户机不能从本地缓存主机中获取数据,它会向总部服务器请求下载数据。
主机缓存模式和分布式缓存模式是相互排斥的。一个客户机只能配置使用其中一种模式。