ConfigMgr 2012 and utilizing BranchCache in your environment basics

ConfigMgr 2012 and utilizing BranchCache in your environment basics

There are plenty of articles out there for BranchCache but I wanted to through one together that covers the over-view of the basics with use with ConfigMgr 2012 and the logs that you can use to verify it is working.

Let’s first start with a little background on BranchCache:

* Was introduced with Windows Server 2008 R2 and Windows 7

* BranchCache clients can act as peer distribution points for other BranchCache clients on the same subnet (key other BranchCache clients)

How it works:

1.A BranchCache Content Server (BCS) breaks content into blocks with unique hashes for each block.

2.A BranchCache client requests content from the BCS.  The BCS responds with a list of blocks and hashes.

3.The client queries local peers for any of the blocks.

4.If the blocks are found on the local subnet, they are retrieved from peers. 

5.If the any block is not available from a peer, it is retrieved from the BCS.  Once retrieved, it is made available to peers.


Branch Cache has two modes of operation:

- Distributed cache mode: content cache at a branch office is distributed among client computers.

- Hosted cache mode: content cache at a branch office is hosted on one or more server computers called hosted cache servers.

Distributed cache mode is designed for small branch offices that do not contain a local server for use as a hosted cache server. Distributed cache mode allows your organization to benefit from BranchCache without the requirement of additional hardware in branch offices.


Is there a way to pre-stage distributed and hosted cache content:

Yes, in some cases. Pre-hashing and preloading content is a new BranchCache feature for Windows Server 2012 and Windows 8.

For distributed cache mode, your content servers must be running Windows Server 2012, and your client computers must be running Windows 8. For hosted cache mode, your content servers and your hosted cache server must be running Windows Server 2012

Preloading content on hosted cache servers:


Branch Cache Ports:

  • Http (port 80) for content retrieval using BranchCache retrieval protocol
  • WS-Discovery (port 3702 UDP) for content discovery in distributed cache mode
  • HTTPS (port 443) for content upload in hosted cache mode using hosted cache protocol


Next let’s look at how it fits into working with ConfigMgr 2012 R2:

* Distribution points also support a feature of Windows Server 2008 R2 \ Windows Server 2012 and Windows 7 \ Windows 8.1 for BranchCache

* When enabled a copy of content retrieved from a server is cached in the branch office

* BranchCache feature caches HTTP, HTTPS, BITS or SMB based content

* There is no special configuration option in ConfigMgr 2012 to enable BranchCache since it’s not a feature or Configuration Manager 2012

* The only thing you need to do to configure is that your deployments are enabled for downloading and running the applications locally

* ConfigMgr only supports Distributed cache mode for BranchCache



- Software Update Deployments: Download Settings Dialog (Assure to check Allow clients to share content with other clients on the same subnet)

- Package Deployments: Distribution Points Dialog (Assure to check Allow clients to share content with other clients on the same subnet)

- Application Deployments: Content Tab on the Deployment Type (Assure to check Allow clients to share content with other clients on the same subnet)


Now that we have touched on the background of BranchCache and how it fits into play with ConfigMgr 2012, let’s look at some items that are important to note when using BranchCache in your environment:

* In order to benefit from BranchCache all machines at the location meant to utilize Branch Cache must be configured at the Operating System level for BranchCache, machines not configured will not partake in the BranchCache sharing

* BranchCache is not managed nor an active component for ConfigMgr simply utilized by deployments for systems that are enabled to support BranchCache


Ways to verify Branch Cache from a ConfigMgr deployment:

A. The following logs come into play with BranchCache

- DataTransferService.log 

- FileBits.log 

- ContentTransferManager.log


B. Validation Method for a deployment

(1) Start Performance Monitor

(2) Add monitor elements

(3) Add BranchCache (specifically)

- BITS: Bytes from cache

- BITS: Bytes from server

- Discovery: Attempted discoveries

- Discovery: Successful discoveries

- Retrieval: Bytes from cache

- Retrieval: Bytes from server

- Retrieval: Bytes served (show how much this computer is providing to other peers)

(4) Monitor these counters

(5) Deploy something NEW from SCCM ensuring that “download from distribution point” is enabled in order to force BITS.  You could also manually transfer data via BITSAdmin.exe

(6) Run this locally to see some good basic configuration and utilization info: netsh branchcache show status all   


Reference Links:

Reference Link:

Reference Link:

Reference Link:

Reference Link:

Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of any included script samples are subject to the terms specified in the Terms of Use


Main System Center blog:

Configuration Manager Support Team blog:

Data Protection Manager Team blog:

Orchestrator Team blog:

Operations Manager Team blog:

Service Manager Team blog:

Virtual Machine Manager Team blog:

Microsoft Intune:

WSUS Support Team blog:

RMS blog:

App-V Team blog:

MED-V Team blog:

Server App-V Team blog:

Forefront Endpoint Protection blog:

Forefront Identity Manager blog:

Forefront TMG blog:

Forefront UAG blog:

Application Proxy blog:

The Surface Team blog:

Have a question about content? Join us on Yammer


Comments (2)

  1. vijay says:

    Under Package Deployments you mention Distribution Points Dialog (Assure to check Allow clients to share content with other clients on the same subnet) .

    I have not come across this option in Packages. Yes, this option exists under Deployment Types for Applications . But Packages ? Can you tell me which tab in a Package?



  2. Vija says:

    Hey, sorry , my oversight. I found it. Ignore last mail


Skip to main content