You can use BranchCache to decrease wide area network traffic between branch offices and your main office when you are using computers that are running Windows Server® 2008 R2 and computers that are running Windows® 7

Note
For information on BranchCache in Windows Server 2012 and Windows 8, see BranchCache Overview.

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.

This guide provides information about BranchCache settings, including the following:

Note

In addition to the BranchCache settings in this guide, you can use network shell (netsh) commands for BranchCache to configure clients and servers. For more information and a comprehensive command reference, see Netsh Commands for BranchCache, in the Windows Server® 2008 and Windows Server® 2008 R2 Technical Library, at http://go.microsoft.com/fwlink/?LinkId=156640.

Installing BranchCache

When you deploy content servers and hosted cache servers, you must install the correct BranchCache components.

Important

By default, BranchCache is installed on client computers, but it is not enabled. You can enable BranchCache on client computers using the settings in the section BranchCache Client Computer Settings.

You can use the following table to determine the BranchCache component that you need to install for the functionality you require.

 

Functionality

Computer location

Install this BranchCache component

Content server (BITS application server)

Main office or cloud data center

BranchCache feature

Content server (Web server)

Main office or cloud data center

BranchCache feature

Content server (file server using the SMB protocol)

Main office or cloud data center

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

 

 

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. The following wizards are provided in Server Manager to install BranchCache components.

  • 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.

BranchCache Content Server Settings

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.

Web servers and BITS-based application server content servers

When you deploy content servers that are Web servers or BITS-based application server content servers, there are no additional BranchCache settings that you must configure after you install the BranchCache feature.

File server content servers

When you deploy file server content servers, you can use the following settings to configure your file servers.

Hash Publication for BranchCache

To deploy BranchCache-enabled file servers, you must enable hash publication. When hash publication is enabled, BranchCache creates hashes, also called content information, for all of the content that is stored in BranchCache-enabled file shares. Content information that BranchCache creates for each shared file is an automatically generated digital identifier for the file. Content information is used to help the content server, client computers, and hosted cache servers securely identify content and to determine where the content is located on the network.

A client computer in a branch office can obtain content information for a file across a wide area network (WAN) link if all of the following conditions are true:

  • On the file server, the folder where the file is located is configured for BranchCache, and hash publication is enabled for the share.
  • The access control list (ACL) on the file or folder grants the user, or a group to which the user belongs, permission to access the content.
  • BranchCache is enabled on the user’s computer.

When BranchCache on the user’s computer obtains the content information for the file the user wants to access, BranchCache searches for an identical version of the file on a computer in the branch office. If the computer is configured as a distributed cache mode client, the computer queries other distributed cache mode clients for the file. If the computer is configured as a hosted cache mode client, the computer queries the hosted cache server in the branch office for the file. If the file is found, the computer downloads the locally-cached copy instead of downloading the file from the file server over the WAN link.

Hash publication for BranchCache is a Group Policy setting that is configured in the following locations:

  • For non-domain member file servers, this setting is configured in the local computer Group Policy on the file server. On a non-domain member file server, in the Microsoft Management Console (MMC), with the Group Policy Object Editor snap-in installed and the Local Computer policy selected, browse to the following location: Local Computer Policy | Computer Configuration | Policies | Administrative Templates | Network | Lanman Server | Hash Publication for BranchCache For information on how to configure this setting, see the BranchCache Deployment Guide topic Enable hash publication for non-domain member file servers.
  • For file servers that are members of an Active Directory domain, this setting is configured in domain Group Policy on a domain controller. On a domain controller, in the Microsoft Management Console (MMC), with the Group Policy Management Editor snap-in installed and the default domain policy selected, browse to the following location:  Default Domain Policy | Computer Configuration | Policies | Administrative Templates | Network | Lanman Server | Hash Publication for BranchCache. For information on how to configure this setting, see the BranchCache Deployment Guide topic Enable hash publication for domain member file servers.

Note

In the Administrative Templates policy node for either Local Computer or Default Domain policy, the Hash Publication for BranchCache setting is not located in the BranchCache folder because that folder contains settings for configuring BranchCache client computers. Because the BranchCache folder is reserved for client computer settings, the Hash Publication for BranchCache setting is located in Lanman Server.

Setting configuration


In Hash Publication for BranchCache, you can select one of the following:

  • Not Configured. With this selection, hash publication settings are not applied to file servers. In the circumstance where file servers are domain members but you do not want to enable BranchCache on all file servers, you can specify Not Configured for this domain Group Policy setting, and then configure local machine policy to enable BranchCache on individual file servers. Because the domain Group Policy setting is not configured, it will not over-write the enabled setting that you use on individual servers where you want to enable BranchCache.
  • Enabled. With this selection, hash publication is turned on for all file servers where Group Policy is applied. For example, if Hash Publication for BranchCache is enabled in domain Group Policy, hash publication is turned on for all domain member file servers to which the policy is applied. The file servers are then able to create content information for all content that is stored in BranchCache-enabled file shares.
  • Disabled. With this selection, hash publication is turned off for all file servers where Group Policy is applied.

In circumstances where this setting is enabled, you can also select the following configuration options:

  • Allow hash publication for all shared folders. With this option, BranchCache generates content information for all content in all shares on the file server. BranchCache generates content information for these folders when the following occurs:
    • A BranchCache client requests a file that is stored in a shared folder for which both BranchCache and hash publication are enabled.
    • An administrator manually generates hashes by using the command-line tool Hashgen.
  • Allow hash publication only for shared folders on which BranchCache is enabled. With this option, content information is generated only for shared folders on which BranchCache is enabled. If you use this setting, you must enable BranchCache for individual shares in Share and Storage Management on the file server, according to the instructions in the section Enable BranchCache (Advanced share Properties, Caching tab). BranchCache generates content information for these folders when the following occurs:
    • A BranchCache client requests a file that is stored in a shared folder for which both BranchCache and hash publication are enabled.
    • An administrator manually generates hashes by using the command-line tool Hashgen.
  • Disallow hash publication on all shared folders. With this option, BranchCache does not generate content information for any shares on the computer and does not send content information to client computers that request content.

Note

If you configure local group policy settings on a domain-joined file server, the local Group Policy settings are overridden when domain Group Policy is applied. For this reason, it is recommended that you use domain Group Policy to configure hash publication for domain member file servers.

Enable BranchCache (Advanced share Properties, Caching tab)

When you deploy a file server and you configure Hash Publication for BranchCache with the option Allow hash publication only for shared folders on which BranchCache is enabled, you must use Share and Storage Management on the file server to enable BranchCache on individual shared folders.

To learn how to enable this setting on a file share, see the BranchCache Deployment Guide topic Enable BranchCache on a file share.

Important

When you configure Hash Publication for BranchCache with the options Allow hash publication for all shared folders or Disallow hash publication on all shared folders, you do not need to enable BranchCache on a per-share basis with this setting.

BranchCache Hosted Cache Server Settings

You can use the following operating systems to deploy a BranchCache hosted cache server:

  • 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

To configure hosted cache servers, use the Network Shell (Netsh) commands for BranchCache. For more information, see Netsh Commands for BranchCache.

For information on how to deploy a hosted cache server, see the following guides:

BranchCache Client Computer Settings

You can use the following operating systems to deploy BranchCache distributed cache mode and hosted cache mode client computers.

  • Windows® 7 Enterprise
  • Windows® 7 Ultimate

BranchCache is installed by default on client computers running Windows 7 Enterprise and Windows 7 Ultimate, however you must enable BranchCache to allow BranchCache traffic between client computers and hosted cache servers. When you use Group Policy or local computer policy settings to enable BranchCache, the correct firewall exceptions are automatically created to allow BranchCache traffic.

When you deploy BranchCache, client computers must be configured as either distributed cache mode or hosted cache mode clients. This topic provides information about the settings that are available to accomplish this goal; however it does not provide deployment guidance. To learn how to deploy BranchCache client computers, use the following sections of the BranchCache Deployment Guide:

  • Configure Client Computers for Distributed Cache Mode
  • Configure Client Computers for Hosted Cache Mode

Note

The BranchCache Deployment Guide is available in Word format at the Microsoft Download Center at http://go.microsoft.com/fwlink/?LinkId=166656 and in HTML format in the Windows Server® 2008 and Windows Server® 2008 R2 Technical Library at http://go.microsoft.com/fwlink/?LinkId=166639.

You can use the following settings when configuring BranchCache-enabled client computers.

Turn on BranchCache

To deploy BranchCache-enabled client computers, this setting is required, and it can be applied either by domain Group Policy or local computer policy. In addition, you must use the settings below to specify whether the client computers are hosted cache mode or distributed cache mode clients. If you are deploying content servers that are file servers with the File Services server role and the BranchCache for network files role service, and you want client computers to be able to access content on the file server, you must also configure the setting Configure BranchCache for network files.

This setting specifies whether BranchCache is enabled on client computers to which this policy is applied. To access cached content, the client computer must have permissions to access the content on the source server.


Setting configuration


In Turn on BranchCache, you can select one of the following:

  • Not Configured. With this selection, BranchCache settings are not applied to client computers by this policy. In the circumstance where client computers are domain members but you do not want to enable BranchCache on all client computers, you can specify Not Configured for this domain Group Policy setting, and then configure local computer policy to enable BranchCache on individual client computers. Because the domain Group Policy setting is not configured, it will not over-write the enabled setting that you use on individual client computers where you want to enable BranchCache.
  • Enabled. With this selection, BranchCache is turned on for all client computers where the policy is applied. For example, if Turn on BranchCache is enabled in domain Group Policy, BranchCache is turned on for all domain member client computers to which the policy is applied.
  • Disabled. With this selection, BranchCache is turned off for all client computers where the policy is applied.

Set BranchCache Distributed Cache mode

To deploy BranchCache-enabled distributed cache mode client computers, this setting is required, and it can be applied either by domain Group Policy or local computer policy.

Important

To enable client computers for distributed cache mode, you must enable both this setting and the setting Turn on BranchCache.

When a client computer is configured as a distributed cache mode client, it is able to download cached content from other distributed cache mode clients on the same subnet. In addition, the client can cache content so that other distributed cache mode client computers can access the content locally rather than from a content server over a wide area network (WAN) link.


Setting configuration


In Set BranchCache Distributed Cache mode, you can select one of the following:

  • Not Configured. With this selection, BranchCache settings are not applied to client computers by this policy. In the circumstance where client computers are domain members but you do not want to enable BranchCache on all client computers, you can specify Not Configured for this domain Group Policy setting, and then configure local computer policy to enable BranchCache on individual client computers. Because the domain Group Policy setting is not configured, it will not over-write the enabled setting that you use on individual client computers where you want to enable BranchCache.
  • Enabled. With this selection, BranchCache distributed cache mode is enabled for all client computers where the policy is applied. For example, if Set BranchCache Distributed Cache mode is enabled in domain Group Policy, BranchCache distributed cache mode is turned on for all domain member client computers to which the policy is applied.
  • Disabled. With this selection, BranchCache distributed cache mode is turned off for all client computers where the policy is applied.

Set BranchCache Hosted Cache mode

To deploy BranchCache-enabled hosted cache mode client computers, this setting is required, and it can be applied either by domain Group Policy or local computer policy.

Important

To enable client computers for hosted cache mode, you must enable both this setting and the setting Turn on BranchCache.

When a client computer is configured as a hosted cache mode client, it is able to download cached content from a hosted cache server that is located at the branch office. In addition, when the hosted cache client obtains content from a content server, the client can upload the content to the hosted cache server for access by other hosted cache clients at the branch office.


Setting configuration


In Set BranchCache Hosted Cache mode, you can select one of the following:

1.   Not Configured. With this selection, BranchCache settings are not applied to client computers by this policy. In the circumstance where client computers are domain members but you do not want to enable BranchCache on all client computers, you can specify Not Configured for this domain Group Policy setting, and then configure local computer policy to enable BranchCache on individual client computers. Because the domain Group Policy setting is not configured, it will not over-write the enabled setting that you use on individual client computers where you want to enable BranchCache.

2.   Enabled. With this selection, BranchCache hosted cache mode is enabled for all client computers where the policy is applied. For example, if Set BranchCache Hosted Cache mode is enabled in domain Group Policy, BranchCache hosted cache mode is turned on for all domain member client computers to which the policy is applied.

3.   Disabled. With this selection, BranchCache hosted cache mode is turned off for all client computers where the policy is applied.

In circumstances where this setting is enabled, you can also select and configure the following option:

  • Enter the location of hosted cache. Specifies the fully qualified domain name (FQDN), NetBIOS name, or IP address of the hosted cache server. Because the hosted cache server name is also specified in the certificate enrolled to the hosted cache server, the name that you enter here must match the name of the hosted cache server that is specified in the server certificate. This is true even when you specify an IP address – the hosted cache server name in the certificate must be the same IP address.

Important

Hosted cache clients must trust the server certificate that is issued to the hosted cache server. Ensure that the issuing CA certificate is installed in the Trusted Root Certification Authorities certificate store on all hosted cache client computers.

Configure BranchCache for network files

You can use this setting to specify when client computers in branch offices start caching content from content servers based on the network latency – or delay – that occurs when the clients download content from content servers at the main office over a Wide Area Network (WAN) link.  When you configure a value for this setting, which is the maximum round trip network latency allowed before caching begins, clients do not cache content until the network latency reaches the specified value; when network latency is greater than the value, clients begin caching content after they receive it from the content servers.

For example, if you configure the round trip network latency value to zero, client computers always cache content that they receive from the content servers, no matter how high or low the network latency is between their request for a file and their receipt of the file from the content server. In another example, if you configure the round trip network latency value to 100 milliseconds, clients do not cache content that they receive before 100 milliseconds pass, but they do begin to cache content that they receive after 100 milliseconds pass.

By default, the value of this setting is 80 milliseconds. To ensure that client computers always cache content, set the network latency value to 0.

To prevent caching except in circumstances where network latency is extremely long, set the latency value to a very high value. If you use a high value, however, it is possible that network latency will not reach this long a delay, in which case BranchCache is disabled on your network.

If you disable or do not configure this policy setting, the client computer will cache network files if the round trip network latency of the wide area network (WAN) link is above 80 ms.

Setting configuration


In Configure BranchCache for network files, you can select one of the following:

  • Not Configured. With this selection, BranchCache latency settings are not applied to client computers by this policy. In the circumstance where client computers are domain members but you do not want to configure a BranchCache latency setting on all client computers, you can specify Not Configured for this domain Group Policy setting, and then configure local computer policy to enable BranchCache latency settings on individual client computers. Because the domain Group Policy setting is not configured, it will not over-write the latency setting that you use on individual client computers.
  • Enabled. With this selection, the BranchCache maximum round trip latency setting is enabled for all client computers where the policy is applied. For example, if Configure BranchCache for network files is enabled in domain Group Policy, the BranchCache latency setting that you specify in the policy is turned on for all domain member client computers to which the policy is applied.
  • Disabled. With this selection, BranchCache client computers use the default latency setting of 80 milliseconds.

In circumstances where this setting is enabled, you can also select and configure the following option:

  • Enter the round trip network latency value in milliseconds above which network files must be cached in the branch office. Specifies the amount of time, in milliseconds, before branchcache client computers start caching content locally.

Set percentage of disk space used for client computer cache

You can use this setting to specify the default percentage of total disk space that is allocated for the BranchCache disk cache.

If you enable this policy setting, you can configure the percentage of total disk space to allocate for the cache.

If you disable or do not configure this policy setting, the cache is set to 5 percent of the total disk space on the client computer.

Setting configuration


In Set percentage of disk space used for client computer cache, you can select one of the following:

  • Not Configured. With this selection, BranchCache client computer cache settings are not applied to client computers by this policy. In the circumstance where client computers are domain members but you do not want to configure a BranchCache client computer cache setting on all client computers, you can specify Not Configured for this domain Group Policy setting, and then configure local computer policy to enable BranchCache client computer cache settings on individual client computers. Because the domain Group Policy setting is not configured, it will not over-write the client computer cache setting that you use on individual client computers.
  • Enabled. With this selection, the BranchCache client computer cache setting is enabled for all client computers where the policy is applied. For example, if Set percentage of disk space used for client computer cache is enabled in domain Group Policy, the BranchCache client computer cache setting that you specify in the policy is turned on for all domain member client computers to which the policy is applied.
  • Disabled. With this selection, BranchCache client computers use the default client computer cache setting of five percent of the total disk space on the client computer.

In circumstances where this setting is enabled, you can also select and configure the following option:

  • Options. Specifies an integer that is the percentage of total client computer disk space to use for the BranchCache client computer cache.