How to Handle SCCM Bandwidth Issues with Branch Cache Vs Peer Cache

In the current world of IT, organizations look for lower operating expenses are investigating technology solutions that can directly lower costs and improve productivity and value add to the business. This blog post will help you to design SCCM Bandwidth optimization tips and tricks.

I will cover the SCCM and Delivery Optimization (DO) design options in the upcoming blog posts.

Abstract – SCCM Bandwidth Optimization

One area in which these organizations are seeking solutions is in the IT infrastructure supporting remote or and branch offices and bandwidth optimization (SCCM Bandwidth Optimization).

Patch My PC

With Microsoft Branch cache and Peer cache in conjunction with SCCM for peer cache a solution capability enabled and can expect to see significant performance improvements in content sharing and bandwidth optimization.

Branch cache and Peer cache that reduces WAN bandwidth usage and improves application responsiveness when workstations in a remote location access content from the head office or data centre by downloading and caching content on the local network as it is requested, making it immediately available to other clients that subsequently request the same content.

SCCM Bandwidth Optimization
Bandwidth Optimization

Introduction to Branch Cache

Branch Cache is a feature of Microsoft Windows 7 which can be utilized for businesses that operate from multiple office locations. Branch Cache provides a file caching service for professional network administrators which works by enabling Windows servers to automatically retrieve and distribute the local copies of files which are being accessed remotely by Windows 7 clients. More tips and tricks about SCCM Bandwidth Optimization is given in the following sections.

1E Nomad

Branch Cache can help increase network responsiveness of centralized applications, when they are accessed from remote offices, and users in those offices can experience as if they are working on their local area network. Branch Cache also helps in reducing WAN utilization. When you enable Branch Cache, a copy of data accessed from intranet Web and file servers is cached locally in the branch office. When another client on the same network requests that file, the client downloads it from the local cache without downloading the same content from the WAN link.

Your system must meet the following requirements to use Branch Cache:

  • Client computers must use Windows 7, with the Branch Cache feature enabled on it.
  • Web servers and File servers must use Windows Server 2008 R2, with the Branch Cache feature enabled on it

What is Branch Cache

Branch Cache is a Windows Operating System component, predominantly used for bandwidth optimization (SCCM Bandwidth Optimization) which works independently of SCCM but integrates with it.

  • Was introduced with Windows Server 2008 R2 and Windows 7
  • Branch Cache clients can act as peer distribution points for other Branch Cache clients on the same subnet
  • Branch cache can be enabled on the client machine via AD Group Policies.

How Branch Cache Works

Branch Cache works in one of two modes: Distributed or Hosted Mode. Distributed allows clients to request cached content from one another, while Hosted Mode centralizes the cache on a Branch Cache server. How branch cache helps to achieve SCCM Bandwidth Optimization.

Distributed Mode should be used when there are fewer than 50 clients on the branch office network

  • A Branch Cache Content Server (BCS) breaks content into blocks with unique hashes for each block.
  • A Branch Cache client requests content from the BCS.  The BCS responds with a list of blocks and hashes.
  • The client queries local peers for any of the blocks.
  • If the blocks are found on the local sub-net, they are retrieved from peers.
  • If any block is not available from a peer, it is retrieved from the BCS.  Once retrieved, it is made available to peers.

Branch Cache Operation Modes

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

Note: 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 Branch Cache without the requirement of additional hardware in branch offices

Branch Cache Network Ports

  • Http (port 80) for content retrieval using Branch Cache 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

Note: Web Services Dynamic Discovery (WS-Discovery) is a technical specification that defines a multicast discovery protocol to locate services on a local network. It operates over TCP and UDP port 3702 and uses IP multicast address

Branch Cache with SCCM

  • Distribution points also supports a feature of Windows Server 2008 R2, Windows Server 2012 and Windows 7, and Windows 8.1 and Windows 10 for Branch Cache
  • When enabled a copy of content retrieved from a server is cached in the branch office
  • Branch Cache feature caches HTTP, HTTPS, BITS or SMB based content
  • The only thing you need to do to configure is that your deployments are enabled for downloading and running the applications locally
  • SCCM only supports Distributed cache mode for Branch Cache

Note: To implement Branch Cache in SCCM simply enable the Windows Branch Cache feature via the Console for each Distribution Point. To enable Branch Cache on the client machines follow Client Settings with couple of check boxes in the “Client Cache’”section.

Branch Cache Design

The following illustration depicts a dual mode installation, with one branch office configured for distributed cache mode and one branch office configured for hosted cache mode. Learn how you can design branch cache to achieve SCCM Bandwidth Optimization?

How to Handle SCCM Bandwidth Issues with Branch Cache Vs Peer Cache 1
Branch Cache Design

Introduction to Peer Cache

Peer Cache is a built-in SCCM solution that enables clients to share content with other clients directly from their local cache.

Peer Cache uses Boundary Groups to determine which peers are ‘local’ and will only attempt to find a peer Content Source if it is in a Boundary Group configured with a Slow Connection to the Distribution Point. Learn how to use peer cache to achieve SCCM Bandwidth Optimization in your enterprise environment.

Beginning with System Center SCCM 1610, you can use Peer Cache to help manage deployment of content to clients in remote locations

Your system must meet the following requirements to use Peer Cache:

  • Peer Cache is supported on any Windows OS that is supported as SCCM client.
  • Non-Windows operating systems are not supported for Peer Cache.
  • Clients can only transfer content from Peer Cache clients that are in their current boundary group.
  • Because the current boundary of a Peer Cache content source is determined by that client’s last hardware inventory submission, a client that roams to a network location and is in a different boundary group might still be considered a member of its former boundary group for the purposes of Peer Cache. This can result in a client being offered a Peer Cache content source that is not in its immediate network location. We recommend excluding clients that are prone to this configuration from participating as a Peer Cache source.

What is Peer Cache

Like Branch Cache Peer Cache is also a bandwidth optimization (SCCM Bandwidth Optimization) solution which is native from SCCM. introduced Beginning with SCCM version 1610.

  • Was introduced Beginning with SCCM 1610
  • Peer Cache client can act as mini distribution Point.
  • Peer Cache can be enabled on the client machine via SCCM Client Settings.

Note: Peer Cache does not replace the use of other solutions like Branch Cache but instead works side-by-side to give you more options to extend traditional content deployment solutions like distribution points

How Peer Cache Works with SCCM

Peer Cache works in similar manner of SCCM distribution Point. It can be treated as kind if Mini Distribution Point.

  • Peer Cache enables Peer-to-Peer (P2P) transfers of content between clients within the same Boundary Group
  • Peer Cache clients report their cache contents to the SCCM site.
  • Other Peer systems can request that content.
  • The content is located just like any other content lookup, except that SCCM returns a list of Peer Cache Systems along with any Distribution Points that have the content.
  • Once enabled, your Peer Cache Source clients will spin up a Web Service locally which is used to act as a content server to other peers – This is known as the ‘SuperPeer’ service
  • Clients that are looking for content perform a content lookup as usual, and the Management Point will return a list of content locations
  • Any SuperPeers that have the requested content will be returned along with the regular Distribution Points
  • The client will then pick a local peer (if available) and from there it performs a regular BITS download of the content

How to Design Peer Cache Design

Peer Cache uses Boundary Groups to determine which peers are ‘local’ and will only attempt to find a peer Content Source if it is in a Boundary Group configured with a Slow Connection to the DP. Design peer cache to achieve SCCM Bandwidth Optimization for your organization’s network environment.

How to Handle SCCM Bandwidth Issues with Branch Cache Vs Peer Cache 2
Peer Cache Design –
SCCM Bandwidth Optimization

Branch Cache and Peer Cache Comparison Chart

Peer Cache   Branch Cache
Available from SCCM 1610
OS feature Was introduced with
Windows Server 2008 R2 and
Windows 7
Peer Cache requires clients within
same boundary group and with peer
cache enabled
Branch Cache share contents with
clients within the same sub-net
Peer cache only works with SCCM
Branch cache works with any contentthat is accessed via HTTP or SMB
Peer cache clients can share content
with each other even if they are not
in the same sub-net
Branch cache clients can share
content with each other only if they are in the same sub-net
Peer cache works at SCCM package
level. The unit of download is an
SCCM package.
An SCCM peer cache client can only
start sharing content if it has completely downloaded the entire package.
You can also tell which client has which content
Branch cache works at a block/segment level.
The unit of download is blocks, whichis typically just a portion of a file.
Blocks are identified by their hashes
and not by their association to file.
This allows a client to share content
even if it only has portions of it.
This also makes it is difficult to know which client has which content
Peer cache only has one copy of the
content, all in the CCMCache
Branch cache uses its own cache
which is separate from the actual
content. There are essentially two
copies of the content on the client
Peer cache discovers content by
asking the SCCM MP for the location
of packages.
WinPE clients also performs a
broadcast on the sub-net, in addition
to the MP look-up
Branch cache discovers content by
broadcasting the hash of a block,
and the clients that have the block
will respond. This is the reason why
clients need to be on the same sub-netfor this method to work
Peer cache is very specific to SCCM Not Specific to SCCM
Peer Cache is only restricted by
Boundary Group which means that
it’s good for multi-VLAN sites where
the content transfers can cross
  Branch Cache is sub-net based
Peer cache works from WINPE levelBC does not work from WINPE level

Note:Peer Cache works from WINPE level is important especially performing the tasks like OSD where significant content is downloaded during the WINPE phase itself.

Key Change:From SCCM 1806 on wards there is significant change in peer cache functionality that it works at the sub-package level. That means it is capable enough to share the content before the actual whole package is downloaded


Peer Cache is a great new addition to the SCCM. Branch Cache is the perfect method to backup Peer Cache. You can implement it and not to worry too much. To ensure maximum P2P enable Branch Cache on all SCCM deployments. Peer Cache need to be handled with care – but implemented correctly, has certain advantages by being tightly integrated with SCCM.

They work well together and enable the efficient way for bandwidth optimization (SCCM Bandwidth Optimization) in SCCM.

Below graphical diagram represents the Client download source:

How to Handle SCCM Bandwidth Issues with Branch Cache Vs Peer Cache 3
Data Download Source


9 thoughts on “How to Handle SCCM Bandwidth Issues with Branch Cache Vs Peer Cache”

  1. what happens if we only enable the Branch Cache feature through SCCM. How we can see the content is downloading from its peers in same subnet. Is there any log files? where the content will store in branch cache client?

    • Try checking the below (not quite certain though)

      – DataTransferService.log
      – FileBits.log
      – ContentTransferManager.log
      – Locationservices.log

      or Content Data Source from the Console

  2. I see the setting on the Dp to enable branche cache, but what about peer cache? I only see clients and DP/Server settings for branch cache. Do we assume the DP IS the using peer cache (super peer) as its native file distribution protocol?

    Is there any harm in enabling both?

    We are getting some odd behaviour “waiting for content” when we enable branch cache. Uncheck it, and run an inventory/reboot/iisreset etc. clients start downloading again. Now, the Dp is on a different subnet, but why should they not be able to find content if we only add-on/enable branch cache? Its not like we are taking away their peer cache\http ability to the DP (ie. classic way).

    • Peer cache doesn’t replace the use of other solutions like Windows BranchCache or Delivery Optimization. Peer cache works along with other solutions. Peer cache is a custom solution with no reliance on BranchCache. If you don’t enable or use BranchCache, peer cache still works.

      To enable Peer Cache, you need to create a new Client Settings & deploy it to your Peer Cache Source computers.

  3. Hi,

    is in place os upgrade support by Branch cache? we have low bandwidth location where we want to push the Latest OS. if it supports by BC we can push multiple computer at a time.


Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.