如今有许多的企业都有在各地设立分公司或是办事处,并且通过网络专线让所有分支机构能够与总公司进行连接,以便于进行各种跨地域甚至跨国界的协同办公。可是,在许多情况下却可能因分支机构与总公司间的网络连接带宽不足,给协同办公带来的障碍,而这些所谓的障碍,往往都与分公司网络不断频繁地从总公司网络进行文件下载有密切的关联。
因 此, 从Windows Server 2008 R2与Windows 7操作系统开始,便提供了全新的Server/Client集成应用技术,那就是所谓的分支缓存服务架构(BranchCache)下,此技术将彻底改进企业分支网络,在取得来自总公司服务器上重复性数据(包括 了 HTTP、HTTPS、SMB数据)时的处理性能,并且真正降低总公司与分公司间WAN带宽的使用量。在安全性的考虑设计部分,则提供了全程文件数据传送间的加密处理(服务器至客户端)。
图1 分布式缓存模式
在BranchCache架构设计中,提供了两种缓存架构模式来选择,分别是分布式缓存模式(Distributed Mode)和托管式缓存模式(Hosted Caching)。其中分布式缓存模式架构对于客户端重复性的数据下载,将会自动由已下载过拥有相同数据的分布式缓存客户端计算器上来立即就近取得。至于在托管式缓存架构下,则是直接在分公司的网络中,预先配置一部用来自动保存缓存数据的主机(自动连接与同步总公司的缓存属性主机),以提供分公司客户端计算器对于重复性数据取得的速度与效率。
请注意!目前只有大于64B的文件才会被缓存下来。
接下来让我们来了解一下这两种缓存架构模式的运作方式。首先,在分支缓存中的分布式缓存架构模式,位于总公司的内容服务器必须是Windows Server 2008 R2,而位于分公司的客户端则可以是Windows 7或是Windows Server 2008 R2。
如图1所示,当我们在分公司将两部客户端的Windows 7皆启用了分布式缓存模式功能之后,只要这两部的任一客户端从总公司的内容服务器(比如网站)第一次下载文件,这些文件便会被缓存至本地计算器的缓存保存区中。接下来,一旦另一部分布式缓存客户端连接到总公司的内容服务器下载相同文件时,便会在相同网络区域中搜寻已完成下载缓存的数据。
至于在分支缓存中的托管式缓存架构模式下,如图2所示,位于总公司的内容服务器与位于分公司的托管缓存主机都必须是Windows Server 2008 R2,位于分公司的客户端则必须是Windows 7。当任意一部托管式缓存的客户端第一次从总公司下载数据时,这些数据便会被发布至分公司的托管式缓存的服务器中保存,只要其他托管式缓存客户端连接到总公司的内容服务器上下载相同数据时,系统将会自动搜寻位于托管式缓存服务器中的缓存属性并迅速完成下载。
图2 托管式缓存模式
在Microsoft许 多IT解决方案中,像是System Center Configuration Manager,都会善用由Windows Server内置所提供的BITS(Background Intelligent Transfer Service)服务,也就是所谓的智能型背景传送服务,来让许多文件数据间的传递工作达到最有效的运作,例如它可以让传递过程当中发生中断的文件,在下一次恢复连接之后进行续传,而不需要整个文件从头下载一遍。
由此可知,所谓的托管式缓存,就是在分公司的网络中,架设一部专责的缓存服务器,用于就近服务分公司中所有缓存客户端对于重复性数据的下载需求。
关于BranchCache的架构设计,让笔者想起了同样是Microsoft发行的另一项防火墙产品ISA Server(新版本称之为TMG)提供的阶层式缓存机制,不过它并不支持SMB数据(只针对网页数据),并且重点是在网络的安全防护上,因此与BranchCache服务有着不同的应用状况。