BranchCache™ 是Windows® 7和Windows Server® 2008 R2中的一个功能,当用户从分支机构位置访问中央办公室的内容时,它可以降低广域网(WAN)利用率并增强网络应用程序响应能力。当您启动BranchCache后,会将从Web服务器或文件服务器检索到的内容的副本缓存到分支机构中。如果分支机构内的另一个客户端请求相同的内容,则该客户端可以直接从本地分支网络进行下载,而不需要通过使用广域网(WAN)检索该内容。
此白皮书提供 BranchCache 的概述,介绍BranchCache运行的不同模式,并描述配置 BranchCache 的方法。该白皮书还介绍 BranchCache 如何与 Web 服务器和文件服务器一起使用,以及 BranchCache 采取的步骤来确定内容是否为最新的。
要全部查看 Windows 7 资源、文章、演示和指南,请访问 Windows Client TechCenter 上的 Springboard Series for Windows 7。
技术概述
当在分支机构中,用户使用利用WAN连接到服务器的网络应用程序时,他们通常体验到性能很差。例如,分支机构的用户打开位于中央办公室上的位于共享文件夹下的大文件可能会花费几秒钟或者甚至几分钟时间。类似地,用户试图通过Web 浏览器查看视频可能必须等待很长时间才能使视频加载。
BranchCache 旨在为分支机构用户提供像直接连接到中央办公室一样的体验而设计。借助 BranchCache,第一个从 Web 服务器或文件服务器(称为内容服务器)下载数据的客户端会在本地分支网络上缓存一个副本。后续的客户端会在由内容服务器对其进行身份验证和授权之后,从分支机构中下载该内容的本地缓存副本。
BranchCache 为了与您现有的网络和安全基础结构一起使用而设计。它支持 IPv4、IPv6 和端对端加密方法,如 SSL 和 IPsec。BranchCache 确保会提供最新版本的内容,且客户端只能在由内容服务器进行授权之后才能从分支机构内检索内容。
您的系统必须满足以下要求才能使用 BranchCache:
模式
根据缓存所处的位置,BranchCache 可以在以下两种模式之一下操作:托管缓存模式或分布式缓存模式。托管缓存模式通过在分支机构中并运行 Windows Server 2008 R2 的一台计算机作为主机来执行操作。会为客户端配置主机的完全限定域名,这样客户端才可以在可用时从托管缓存中获取内容。如果在托管缓存中该内容不可用,则通过WAN从内容服务器上获取该内容,然后将其提供给托管缓存,这样后续客户端可以受益于此。
对于用户数量少于50的分支机构,可以采用分布式缓存模式的BranchCache配置。在此模式下,本地 Win7客户端保持该内容的一个副本,其他已授权客户端在请求相同数据时可以使用。这样消除了在分支机构中配备一台服务器的需求。然而,与托管缓存模式不同,此配置仅适合跨单一子网的情形(即,分支机构的每个子网都必须通过使用WAN获取一次该内容)。此外,休眠的客户端或以其他方式从网络断开连接的客户端不能向发送请求的客户端提供任何内容。接下来的部分会更加详细地介绍托管缓存模式和分布式缓存模式。
内容元数据
减少带宽的机制是向客户端发送关于内容的元数据(称为内容元数据),客户端通过该元数据从分支机构获取内容。这会降低 WAN 带宽的使用,因为内容元数据显著小于实际内容。在发送内容元数据之前,服务器会授权客户端。重要的是,内容服务器会将内容元数据发送给每个客户端,以确保客户端始终收到基于最新内容的哈希。
内容被分为几个块。对于每个块都会计算一个哈希(称为块哈希)。对于块的集合也会计算一个哈希(称为段哈希)。内容元数据主要由块哈希和段哈希构成。所使用的哈希算法是SHA 256。压缩率大约为 2000:1。即,元数据的大小大约比原始数据本身小2000倍。
段哈希提供一个发现单位。这可帮助减少为某个给定内容执行的查找的总数(与查找每个块相比)。块哈希是一个下载单位。当客户端需要从托管缓存或另一个客户端获取数据时,它会基于块单位下载内容以保证数据可以快速返回应用程序。
BranchCache 缓存的内容的最小大小为 64 KB。当内容小于 64 KB时,则会通过WAN直接从内容服务器获取数据。
图1 块和哈希
托管缓存模式
托管缓存是在分支机构中启用了BranchCache的服务器,它储存从支持BranchCache服务器下载的数据,是为启用了BranchCache功能的客户端提供下载的中央储存。托管缓存模式的配置会稍后在本文中介绍。
托管缓存模式不需要专用服务器。BranchCache功能可以在运行了Windows Server 2008 R2 的服务器上启用,它位于分支机构中,并且可以运行其它任务。此外,BranchCache可以被设置成为虚拟的负载,可以与该服务器上其它工作负载例如文件和打印等一起运行。
图2 解释了托管缓存模式,并且提供了关于文档缓存和获取过程的简单介绍。
图2 托管缓存模式
更详细地,托管缓存模式使用以下过程来缓存和获取数据:
分布式缓存模式
在分布式缓存模式下,Windows 7客户端缓存使用 WAN 获取到的内容,然后在收到请求后,将该内容直接发送给其它已授权的 Windows 7 客户端。在用户数量少于50的分支机构中,分布式缓存模式最适合。
图3解释了分布式缓存模式,并提供关于缓存和检索过程的简单介绍。对于请求相同内容的其他客户端来说,通过WAN从内容服务器获取内容的第一个客户端就会成为分支机构中该内容的一个源。当第二个客户端请求相同的内容时,它会从内容服务器下载内容元数据。第二个客户端向本地网络发送一个段哈希的请求,以确定任何其他客户端是否已缓存该数据。找到第一个客户端之后,第二个客户端会从本地获取该内容。
图3 分布式缓存模式
此过程与托管缓存模式接下来的过程类似,除了缓存内容的请求被发送到本地网络并且不需要托管缓存服务器之外。
更详细地,分布式缓存模式使用以下过程来缓存和获取数据:
通过使用分布式缓存模式,IT专业人员可以在分支机构中以最少的硬件部署利用BranchCache。然而,如果分支机构已部署其他基础结构(例如,服务器已运行工作负载,如文件和打印),则使用托管缓存模式可能是更有益的,原因如下:
Windows7之家(www.win7china.com),凝聚你我他