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 investigate technology solutions that can directly lower costs, improve productivity, and add value to the business.
Branch Cache and Peer Cache reduce WAN usage and improve app performance by caching content on the local network for remote workstations to access.
This blog post will help you design SCCM Bandwidth optimization tips and tricks. If you want to know more about the SCCM and Delivery Optimization (DO) design options, please go through my new posts given below.
- Windows 10 Bandwidth Management DO Delivery Optimization with LEDBAT in LAN?
- SCCM and Microsoft Connected Cache Integration to Help with Bandwidth Issues
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).
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.
Introduction to Branch Cache
Branch Cache is a feature of Microsoft Windows 7 that can be utilized by businesses that operate from multiple office locations. It 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.
A branch Cache can help increase centralised applications’ network responsiveness when accessed from remote offices. Users in those offices can experience working on their local area network. The Branch Cache also helps reduce WAN utilization.
When you enable Branch Cache, a copy of data accessed from the 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.
- With the Branch Cache feature enabled, web and File servers must use Windows Server 2008 R2.
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, which 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 a block is not available from a peer, it is retrieved from the BCS and made available to peers once it has been retrieved.
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
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.
- 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
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 enable 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 to design a branch cache to achieve SCCM Bandwidth Optimization.
- Microsoft Connected Cache Container Instances in Azure
- Feature Comparison Between SCCM ConfigMgr CB Versions | Configuration Manager Current Branch
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. 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) content transfers 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 with 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 with the requested content and the regular Distribution Points will be returned.
- The client will then pick a local peer (if available) and perform 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.
Branch Cache and Peer Cache Comparison Chart
Let’s discuss the Branch Cache and Peer Cache Comparison Chart. The table below helps you to see it.
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 level | BC 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. It now works at the sub-package level, which means it is capable of sharing 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 back up 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 an efficient way for bandwidth optimization (SCCM Bandwidth Optimization) in SCCM. Below is a graphical diagram representing the Client download source:
References
We are on WhatsApp now. To get the latest step-by-step guides, news, and updates, Join our Channel. Click here. HTMD WhatsApp.
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 and client-side troubleshooting.
Very Informative and great article
Excellent information.
Excellent ! Easily readable. Thanks a lot
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
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.
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.
Can you please post the question in our forum https://forum.howtomanagedevices.com
Great insights on SCCM bandwidth optimization! I’ve been using Branch Cache for a while now, and I’m intrigued by the comparison with Peer Cache. It’s helpful to see the differences highlighted, especially in terms of deployment scenarios. Looking forward to experimenting with Peer Cache based on your recommendations!