文件服务器之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日


本文转自 IT之梦 51CTO博客,原文链接:http://blog.51cto.com/itmydream/1205188



相关文章
|
3月前
|
缓存 负载均衡 应用服务中间件
【分布式技术专题】「分析Web服务器架构」Tomcat服务器的运行架构和LVS负载均衡的运行机制(修订版)
在本章内容中,我们将深入探讨 Tomcat 服务器的运行架构、LVS 负载均衡的运行机制以及 Cache 缓存机制,并提供相应的解决方案和指导。通过理解这些关键概念和机制,您将能够优化您的系统架构,提高性能和可扩展性。
207 4
【分布式技术专题】「分析Web服务器架构」Tomcat服务器的运行架构和LVS负载均衡的运行机制(修订版)
|
6月前
|
固态存储 关系型数据库 MySQL
109分布式电商项目 - MySQL优化(服务器优化)
109分布式电商项目 - MySQL优化(服务器优化)
37 0
|
6月前
|
存储 负载均衡 调度
31分布式电商项目 - 分布式图片服务器FastDFS
31分布式电商项目 - 分布式图片服务器FastDFS
32 0
|
8月前
|
Java Linux API
Zookeeper学习---3、服务器动态上下线监听案例、ZooKeeper 分布式锁案例、企业面试真题
Zookeeper学习---3、服务器动态上下线监听案例、ZooKeeper 分布式锁案例、企业面试真题
|
10月前
|
Ubuntu 应用服务中间件 Shell
云服务器上关于分布式文件系统FastDFS的安装教程以及个人遇到的所有排坑
云服务器上关于分布式文件系统FastDFS的安装教程以及个人遇到的所有排坑
190 0
|
11月前
zookeeper实现分布式应用系统服务器上下线动态感知程序、监听机制与守护线程
zookeeper实现分布式应用系统服务器上下线动态感知程序、监听机制与守护线程
67 0
|
11月前
|
算法 安全 Linux
Git 分布式版本控制工具 05SSH免登陆:如何使用SSH如何免密登录服务器~
SSH是目前比较可靠的专为远程登录会话和其他网络服务提供安全的协议。不同主机之间在进行通信时,一般都是需要输入密码进行验证, ssh免密码之后,只要通过指定主机地址和端口号就可以实现不同的计算机之间访问时,不需要密码实现直接访问。ssh免密码登录主要采用算法有:对称加密算法和非对称加密算法。
137 0
|
Java 微服务 Spring
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(五) SEATA分布式事务篇(补充) seata与应用不在同一台服务器下报连接不上 127.0.0.1 8091 问题
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(五) SEATA分布式事务篇(补充) seata与应用不在同一台服务器下报连接不上 127.0.0.1 8091 问题
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(五) SEATA分布式事务篇(补充) seata与应用不在同一台服务器下报连接不上 127.0.0.1 8091 问题
|
存储 算法 安全
分布式服务器框架之Servers.Core库实现 DES对称加密算法;SHA1信息摘要算法;MD5信息摘要算法
通信双方(通信主体)同时掌握一个钥匙,加解密都由这一个钥匙完成。通信双方通信前共同拟定一个密钥,不向第三方公开,发送前加密和接受后解密都由此密钥完成。即钥匙如果泄露,将暴露自己的全部信息。
|
数据安全/隐私保护
分布式服务器框架之Server.Core库中实现 XXTEA分组加密算法
在密码学中,微型加密算法(Tiny Encryption Algorithm,TEA)是一种易于描述和执行的块密码,通常只需要很少的代码就可实现。其设计者是剑桥大学计算机实验室的大卫·惠勒与罗杰·尼达姆。这项技术最初于1994年提交给鲁汶的快速软件加密的研讨会上,并在该研讨会上演讲中首次发表。