BranchCache Overview

Updated: September 28, 2011

Applies To: Windows Server 2008 R2

This topic provides key information about BranchCache, including operating system versions that support BranchCache and BranchCache terminology. This topic contains the following sections:

  • Key BranchCache design points

  • BranchCache terminology

  • BranchCache installation guide

  • Operating system versions for BranchCache

Key BranchCache design points

While you design your BranchCache solution, it is useful to remember the following key points:

  • BranchCache can decrease wide area network traffic between computers that are running Windows Server® 2008 R2 and computers that are running Windows® 7.

  • BranchCache has two modes of operation, distributed cache mode and hosted cache mode. When the content cache at a branch office is distributed among client computers, BranchCache is running in distributed cache mode. When the content cache at a branch office is hosted on a server computer, BranchCache is running in hosted cache mode.

  • BranchCache is installed by default on client computers running Windows® 7 Enterprise and Windows® 7 Ultimate, however you must enable BranchCache and create firewall exceptions to allow BranchCache traffic between client computers.

  • BranchCache supports the optimization of downloads over end-to-end secure transports such as Hypertext Transfer Protocol Secure (HTTPS) and Internet Protocol security (IPsec).

  • To cache application and Web server content that is sent to branch offices over Hypertext Transfer Protocol (HTTP), you must install the BranchCache feature on the application server or Web server whose content you wish to cache in branch offices.

  • To cache File Server content that is sent to branch offices using the Server Message Block (SMB) protocol, the BranchCache for network files role service of the File Server role in Windows Server 2008 R2 must be installed and enabled.

  • BranchCache might not function correctly when used in combination with a hardware-based WAN accelerator, because WAN accelerators might alter the fields and messages that are necessary for BranchCache operation. When you deploy a WAN accelerator with BranchCache, BranchCache might work for some protocols, but not for other protocols. For example, some WAN accelerators cannot process server message block (SMB) 2.1, but can process HTTP and HTTPs. Review your WAN accelerator documentation for more information.

  • BranchCache is designed to prevent unauthorized access to content. Before transfer between peers or between clients and the hosted cache server, content is encrypted by BranchCache. Content can only be decrypted using the identifiers provided by the content server in the main office.

  • Distributed cache mode is best suited for small branch offices that do not contain a local server for use as a hosted cache server. Distributed cache mode allows you to deploy BranchCache with minimal hardware deployments in branch offices. However, if the branch office contains additional infrastructure, such as one or more servers that are running other workloads, deploying BranchCache in hosted cache mode might be beneficial for the following reasons:

    • Increased cache availability. Hosted Cache mode increases the cache efficiency because content is available even if the client that originally requested and cached the data is offline. Because the hosted cache server is always available, more content is cached, providing greater WAN bandwidth savings, and BranchCache efficiency is improved.

    • Centralized caching for multiple-subnet branch offices. Distributed cache mode operates on a single subnet. At a multiple-subnet branch office that is configured for distributed cache mode, a file downloaded to one subnet cannot be shared with client computers on other subnets. Because of this, clients on other subnets, unable to discover that the file has already been downloaded, get the file from the main office content server, using WAN bandwidth in the process. When you deploy hosted cache mode, however, this is not the case - all clients in a multiple-subnet branch office can access a single cache, which is stored on the hosted cache server, even if the clients are on different subnets. If you have a multiple-subnet branch office with less than 100 users, therefore, using hosted cache mode is recommended.

You can use the following guidelines to determine the mode in which you want to deploy BranchCache:

  • For a branch office that contains less than 100 users and does not have any local servers, use distributed cache mode.

  • For a branch office (either single subnet or multiple-subnet) that contains less than 100 users and also contains a local server that you can use as a hosted cache server, use hosted cache mode.

  • For a multiple-subnet branch office that contains more than 100 users, but less than 100 users per subnet, use distributed cache mode.

BranchCache terminology

The following list provides key terminology for BranchCache. In some cases, common terms, such as content or client computer, are provided with specific meaning in relation to BranchCache.

Branch office. A satellite office to the main office. Branch offices contain client computers and may also contain either client cache servers or hosted cache servers.

BranchCache-compatible protocols. Background Intelligent Transfer service (BITS), Server Message Block 2 (SMB) protocol, Secure Hypertext Transfer Protocol (HTTPS), and Hypertext Transfer Protocol 1.1 (HTTP) are compatible with BranchCache.

Client cache server. When BranchCache is deployed in distributed cache mode, client computers retrieve content from main office content servers and then cache the content. When other client computers on the same subnet request the content, the client computer that already has the content acts as a client cache server and sends the content to the computers that request it. All clients that download, cache, and serve content to other clients automatically act as client cache servers.

Client computer. A computer at a branch office that is running either Windows 7 Enterprise or Windows 7 Ultimate and that has BranchCache enabled.

Content. The files that are served to computers in branch offices by the content server.

Content information. Automatically generated metadata that is used to describe content. Also called hashes.

Content server. Source repository, located at the main office, for the content that is accessed by client computers in branch offices. Content may reside on either a file server with the BranchCache for Network Files role service of the File Services server role installed, or on a Web server or BITS-based application server with the BranchCache feature installed. Content servers transmit content to branch offices using the BranchCache-compatible protocols.

Distributed cache mode. In distributed cache mode, branch office client computers download content from main office content servers. The client computers then cache the content, and act as client cache servers, providing the cached content to other client computers on request. Distributed cache mode is especially beneficial for branch offices that do not have a local server that can act as a hosted cache server.

Hashes. See content information.

Hosted cache mode. When BranchCache is deployed in hosted cache mode, hosted cache servers retrieve content from client computers, cache the content, and provide the content upon request to other client computers in the same branch office.

Hash publication. The process of generating hashes, also called content information, so that BranchCache clients can download the content information that is stored on content servers.

Hosted cache server. When BranchCache is deployed in hosted cache mode, hosted cache servers in branch offices cache content and provide the content on request to client computers in the same branch office. In this mode, client computers perform the initial download of content from content servers at the main office, and hosted cache servers later download the content from the clients.

Main office. The office where the content servers are located.

BranchCache installation guide

You can use Server Manager in Windows Server 2008 R2 to install either the BranchCache feature or the BranchCache for network files role service of the File Services server role, however each use a different wizard for installation.

  • To install the BranchCache feature, open Server Manager, click Features, and then click Add Features; the Add Features wizard opens, and you can install BranchCache from the list that is provided.

  • To install the BranchCache for network files role service of the File Services server role, open Server Manager, click Roles, and then click Add Roles; the Add Roles wizard opens, and you can install the File Services role with the BranchCache for network files role service selected.

The BranchCache feature and the BranchCache for network files role service are very different, and provide different BranchCache functionality.

The BranchCache feature allows you to deploy a hosted cache server or one of two types of content servers – a Web server content server or an application-based content server.

The BranchCache for network files role service is part of the File Services server role. BranchCache for network files is deeply integrated with file services and allows you to deploy a BranchCache-enabled file server. When you deploy a BranchCache-enabled file server, BranchCache creates content information for every file in every shared folder where BranchCache is enabled.

Use the following table to determine the aspect of BranchCache that you need to install for the functionality you require.

Functionality Computer location Install this BranchCache element

Content server (BITS application server)

Main office

BranchCache feature

Content server (Web server)

Main office

BranchCache feature

Content server (file server using the SMB protocol)

Main office

BranchCache for network files role service of the File Services server role

Hosted cache server

Branch office

BranchCache feature with hosted cache mode enabled

Client cache server

Branch office

No installation needed; just enable BranchCache on the client

Operating system versions for BranchCache

Following is a list of operating systems that support different types of BranchCache functionality.

Operating systems for BranchCache client computer functionality:

  • Windows® 7 Enterprise

  • Windows® 7 Ultimate

Operating systems for BranchCache content server functionality:

The Windows Server® 2008 R2 family of operating systems can be used as BranchCache content servers, with the following exceptions:

  • BranchCache is not supported in Server Core installations of Windows Server® 2008 R2 Enterprise with Hyper-V.

  • BranchCache is not supported in Server Core installations of Windows Server® 2008 R2 Datacenter with Hyper-V.

Operating systems for BranchCache hosted cache server functionality:

  • Windows Server® 2008 R2 Enterprise

  • Windows Server 2008 R2 Enterprise with Hyper-V

  • Windows Server 2008 R2 Enterprise Server Core Installation

  • Windows Server 2008 R2 Enterprise Server Core Installation with Hyper-V

  • Windows Server 2008 R2 for Itanium-Based Systems

  • Windows Server® 2008 R2 Datacenter

  • Windows Server® 2008 R2 Datacenter with Hyper-V

  • Windows Server 2008 R2 Datacenter Server Core Installation with Hyper-V