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

Let’s learn How to Handle SCCM Bandwidth Issues with Branch Cache Vs Peer Cache.

In the current IT world, organizations looking 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 design SCCM Bandwidth optimization tips and tricks. In the upcoming blog posts, I will cover the SCCM and Delivery Optimization (DO) design options.

Abstract – SCCM Bandwidth Optimization

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

Patch My PC

A solution capability is enabled with Microsoft Branch cache and Peer cache in conjunction with SCCM for peer cache. We 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 center 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, enabling Windows servers to automatically retrieve and distribute the local copies of files accessed remotely by Windows 7 clients.

More tips and tricks about SCCM Bandwidth Optimization are given in the following sections.

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

  • 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 to branch cache helps to achieve SCCM Bandwidth Optimization.

Distributed Mode should be used when fewer than 50 clients are 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 subnet, 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 requiring 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 239.255.255.250

Branch Cache with SCCM

Distribution points also support 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 enabled your deployments to download and run the applications locally. SCCM only supports Distributed cache mode for Branch Cache

Note: To implement Branch Cache in SCCM, 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 a couple of checkboxes 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 content deployment to clients in remote locations.

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

  • Peer Cache is supported on any Windows OS supported as an SCCM client.
  • Non-Windows operating systems are not supported for Peer Cache.
  • Clients can only transfer content from Peer Cache clients 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 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 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 native to SCCM. Introduced Beginning with SCCM version 1610.

  • Was introduced Beginning with SCCM 1610
  • Peer Cache clients can act as mini distribution Points.
  • 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 similarly to SCCM distribution Point. It can be treated as a kind of 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 and 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 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
On-wards.
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 shares content with
clients within the same subnet
Peer cache only works with SCCM
content
Branch cache works with any content that 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 subnet
Peer cache works at the 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 download unit is blocked, which is 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 not easy to know which client has which content
Peer cache only has one copy of the
content, all in the CCMCache
Branch cache uses its 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 perform 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
sub-nets
  Branch Cache is a subnet based
Peer cache works from WINPE levelBC does not work from the WINPE level

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

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

Conclusion

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 worry too much. To ensure maximum P2P enables Branch Cache on all SCCM deployments.

Peer Cache needs to be handled with care – but implemented correctly. It has certain advantages of being tightly integrated with SCCM.

They work well together and enable the efficient way for bandwidth optimization (SCCM Bandwidth Optimization) in SCCM. Below is a graphical diagram representing the Client download source:

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

References

Author

Gurudatt is a Technical Architect with 15 years of experience in the End User Computing space. His main area of interest is the design and implementation of ConfigMgr Infrastructure. He has a vast knowledge of ConfigMgr infrastructure & Client-side troubleshooting.

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?

    Reply
    • Try checking the below (not quite certain though)

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

      or Content Data Source from the Console

      Reply
  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).

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

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

    Reply

Leave a Comment

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