ConfigMgr 2012 and utilizing BranchCache in your environment basics

Posted on Updated on

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

from Charles Allen’s Blog


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s